Method and apparatus for information surveying

ABSTRACT

A method and apparatus are presented with which to conduct information surveys. Contemporary methods of accessing and exploiting information resources, including search techniques and category browsing, have become less effective and efficient at these tasks due to the growing infoglut and the widening knowledge gap between the content, structure, and navigational paths of information resources on the one hand, and what users know and desire of these on the other. The information survey method and apparatus disclosed herein enables a user to survey information in order to rapidly discover the area of the information resource that is most useful to them, the survey niche, and evaluate the knowledge and information found there.

FIELD OF THE INVENTION

The present invention relates generally to the field of accessing andexploiting information resources and, more particularly, to method andsystem to survey information.

BACKGROUND

Infoglut is a present and growing concern, affecting not only thecomputer industry but also most nearly all industries and areas ofsociety.

First observed in 1995, Infoglut is a product of increasing informationvolume, volatility, complexity, opacity, and overload. One need onlylook to the rapid rise of the web for evidence of increasing volume.What is not as blatantly obvious is the rapid rate of change ininformation resources, where information can, and does, come and go inthe blink of an eye. Deepening infoglut still further is the nature ofinformation being retained, as it is becoming more complex with multiplerelationships, dependencies, and object interactions, no longer simplyindependent, structured records. Furthermore, less and less informationis visible “on the surface” as more and more information is burieddeeper within complex structures and challenging access paths, and thisis only getting worse as the volume of information grows, much as thesurface/volume ratio of a sphere decreases as the sphere grows larger.

All this would be a boon, not a glut, were it not for informationoverload. Unfortunately, humans are not naturally equipped to handlethis rising volume, volatility, complexity, and opacity, and informationsystems have not managed to keep up with these exponential curves ofinfoglut. The cost of the overload is significant. In 2000, IDCestimated the annual cost of infoglut, just to US Fortune 500corporations, at $12 billion. Delphi Group, in 2002, determined that thetypical knowledge worker looses 1 hour/day due to infoglut, and byknowledge worker Delphi includes not only managers but also those insales and marketing, research and development, financial workers, andprofessionals, such as in law and health care. Lest one think the costis confined to the office, 27% of lost sales, according to Delphi Group,are attributable to consumers being unable to find what they wish topurchase, a cost both to consumer and producer. Infoglut is significant.

The core problem with infoglut, then, is not so much the increase on allfronts described above, but rather our inability to deal with theseincreases. This is the knowledge gap: the gap between information andwhat the user knows about that information. On one side of the knowledgegap is the user's knowledge and desires, on the other side isinformation content, structure, and traversal paths. The knowledge gapprevents users from effectively and efficiently exploiting informationresources and similarly prevents information resources from exposingthemselves in a manner that they can be exploited

The knowledge gap increases the pain of infoglut and the infoglut widensthe knowledge gap—as information grows in volume, complexity, etc., theuser knows less and less about what is there, increasing the gap andtherefore making infoglut that much more costly and pernicious.

Any problem so significant does not go unaddressed for very long. Twoadvanced technologies have been lobbed at infoglut, namely search andcategory browsing. The goal of search is to reduce the volume ofinformation the user needs to handle through a process of filtering,with the user of search providing the filter. Category browsing andcategorization, on the other hand, reduces the volume of information byabstraction, replacing a volume of detailed information with a category,repeating this process for all relevant information, and then organizingthe resulting categories into a structure that can stand-in for theentire body of information.

For a time, search and categorization helped reduce the knowledge gap,and in turn infoglut, by reducing the volume, complexity, and opacity.But the underlying information resources did not stand still—infoglutcontinued to drive them bigger, made them more complex, made them changefaster. The result: search results and category systems have becometheir own infoglut.

Search produces too many results, with web searches routinely returninghundreds, thousands, often millions of hits. Even when the user canmanage to filter the results down to manageable size, they often containtoo many irrelevant results, and totally wrong results, that waste time.

Categorization has not faired better, with category systems andtaxonomies having from tens of thousands to millions of categories thatthe user may wade through without help. Users are unable to navigatethese immense category hierarchies, there are too many paths throughthem, organizational structures of categories that make sense to theircreator often seem misleading to users who frequently run into dead endsand may backtrack, another time and effort sink.

Where before there was a knowledge gap between the user and aninformation resource, now there is also a growing knowledge gap betweenthe user and search results and systems of categories, as thesetechnologies have become information resources in their own right andpart of the growing infoglut.

SUMMARY OF THE INVENTION

According to the invention there is provided a method that includestransforming a survey niche using a computing system to produce atransformed survey niche; and identifying at least one characterizedpartition of entities in the transformed survey niche, using thecomputing system.

Further in accordance with the invention, there is provided a method togenerate a survey lattice as a specialization of a predicate lattice

Further in accordance with the invention, there is provided a method toform a predicate lattice, the method including identifying one or morefacts for the satisfiability of each predicate; grouping the one or morefacts by point of evidence to generate one or more groups of facts;sorting the one or more groups of facts by the number of predicatessatisfied; rejecting duplicate groups of facts from the one or moregroups of facts; and using group containment of the one or more groupsof facts as a partial order of the lattice.

Still further in accordance with the invention, there is provided amethod to represent predicate lattice elements, the method includingputting predicates which are atoms of a predicate lattice into a strictorder, using a computing system; and associating a predicate latticeelement with a predicate in the strict order using the computing system,where the associated predicate lattice element contains the predicate.

According to one aspect of the invention, there is provided a method toaugment an index by associating a predicate lattice element with anindex entry, where the predicate lattice element contains the indexentry.

According to a further aspect of the invention, there is provided amethod to augment a conceptual structure by associating a predicatelattice element with a component of a conceptual structure, where thepredicate lattice element contains the component of the conceptualstructure.

According to a further aspect of the invention, there is provided amethod to augment a category system by associating a predicate latticeelement with a category of a category system, where the predicatelattice element contains the category of the category system.

According to a further aspect of the invention, there is provided amethod to augment a database system by associating a predicate latticeelement with an attribute of a database system, where the predicatelattice element contains the attribute of the database system.

The invention extends to a data structure wherein survey latticeelements are based on a source from a group of sources including anindex, a conceptual structure, a database, and a category system.

The invention further extends to a system of an information structureaugmented with a predicate lattice element, wherein the informationstructure belongs to a group including an index, a conceptual structure,a database, and a category system.

The invention still further extends to a system to conduct aninformation survey, the system including an information resource managerto identify a plurality of information entities, the plurality ofinformation entities being associated with the survey niche; a surveyniche manager to manage at least one generation of a survey niche; apartition manager to identify at least one characterized partitionassociated with the survey niche; and a transformation manager to managetransformation of the survey niche.

The invention still further extends to a user interface to enable a userto survey an information resource, the user interface including a meansfor capturing user input to initialize a survey niche; and a displayingmeans for presenting a plurality of characterized partitions to theuser.

Other features of the present invention will be apparent from theaccompanying drawings and from the detailed description, which follows.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example and notlimitation in the figures of the accompanying drawings and in which:

FIG. 1 is a schematic representation of a system according to oneembodiment of the present invention for information surveying.

FIG. 2 is a schematic representation of a system according to oneembodiment of the present invention for information surveying with anevolutionary theme.

FIG. 3 is a schematic representation of a system according to oneembodiment of the present invention for information surveying with asemantic/conceptual theme.

FIG. 4 is a schematic representation of a system according to oneembodiment of the present invention for information surveying with atopological theme.

FIG. 5 is a schematic representation of a system according to oneembodiment of the present invention for information surveying with acombined semantic/conceptual and evolutionary theme.

FIG. 6 is a schematic representation of a system according to oneembodiment of the present invention for information surveying with acombined evolutionary and topological theme.

FIG. 7 is a schematic representation of a system according to oneembodiment of the present invention for information surveying with acombined semantic/conceptual and topological theme.

FIG. 8 is a schematic representation of a system according to oneembodiment of the present invention for information surveying with acombined semantic/conceptual, evolutionary, and topological theme.

FIG. 9 is a schematic representation of entity satisfiability, accordingto one embodiment of the present invention.

FIG. 10 is a schematic representation of survey lattice showing maximalsatisfiable and minimal unsatisfiable elements, according to oneembodiment of the present invention.

FIG. 11 is a schematic representation of survey lattice showing allsatisfiable and unsatisfiable elements, according to one embodiment ofthe present invention.

FIG. 12 is a schematic operational flow diagram of an exemplary methodto identify the maximal satisfiable predicate lattice elements,according to one embodiment of the present invention.

FIG. 13 is a diagrammatic representation of utilization of surveylattices, according to one embodiment of the present invention.

FIG. 14 is a diagrammatic representation of a conventional conceptualstructure with instance data, according to one embodiment of the presentinvention.

FIG. 15 is a diagrammatic representation of a conceptual structure withinstance data, augmented with maximal satisfiable survey latticeelements, according to one embodiment of the present invention.

FIG. 16 is a diagrammatic representation of an augmented conceptualstructure reorganized around the survey lattice elements, according toone embodiment of the present invention.

FIG. 17 is a diagrammatic representation of transformation methods usinggeneralization and specialization, according to one embodiment of thepresent invention.

FIG. 18 is a diagrammatic representation of part of a taxonomy forgeneralization/specialization examples, according to one embodiment ofthe present invention.

FIG. 19 is a diagrammatic representation of an apparatus for informationsurveying, according to one embodiment of the present invention.

FIG. 20 is a diagrammatic representation of a basic user interface forinitialization, according to one embodiment of the present invention.

FIG. 21 is a diagrammatic representation of a user interface for asurvey partition table, according to one embodiment of the presentinvention.

FIG. 22 is a diagrammatic representation of enhanced user interface,according to one embodiment of the present invention.

FIG. 23 is a diagrammatic representation of a survey manager and surveyniche initialization, according to one embodiment of the presentinvention.

FIG. 24 is a diagrammatic representation of an interface for a surveyniche manager, according to one embodiment of the present invention.

FIG. 25 is a diagrammatic representation of an interface for surveylattice tables, according to one embodiment of the present invention.

FIG. 26 is a diagrammatic representation of a sports car exampleinitialization, according to one embodiment of the present invention.

FIG. 27 is a diagrammatic representation a survey lattice table for thesports car example, according to one embodiment of the presentinvention.

FIG. 28 is a diagrammatic representation of a machine in the exemplaryform of a computing system within which a set of instructions, forcausing the machine to perform any one of the methodologies discussedherein, may be executed.

DETAILED DESCRIPTION

Surveying Applied to Information

There is a need for a system that acknowledges and accepts infoglut andempowers users to deal with it in a way that reduces rather thanincreases the knowledge gap without producing more infoglut itself. Tothat end we investigate the tradition of surveying, which has longcollected and analyzed masses of data, and apply it to information.

In many fields of human endeavor there has been the need to understand aresource in order to support exploitation of that resource. Energyresources are a prototypical example, as in oil and gas exploration.Land is another resource that may be understood before it can beexploited, i.e., built on. It is not surprising that to accomplish suchunderstanding we have satellite and GPS Surveyors, Oil ExplorationSurveyors, Land Surveyors and surveys, and even The Mars GlobalSurveyor. One can also consider public opinion polls, i.e., surveys, asa means to understand in order to exploit markets.

Surveying is more intentioned, formal, controlled, detailed, andcomplete than either searching or browsing. A search is often tightlyfocused on a small area and ignores the surrounding areas. Browsing islike casually walking about, generally on paths provided by others,depending on serendipity to find things of interest. In contrast, asurveyor overlooks and surveys the surrounding country with ascrutinizing eye, noting not only features and their details but alsothe relationship between features.

Introducing Information Surveying

A method and system to survey information, according to an exemplaryembodiment of the present invention, are described below. In thefollowing description, for purposes of explanation, numerous specificdetails are set forth in order to provide a thorough understanding ofthe present invention. It will be evident, however, to one skilled inthe art that the present invention may be practiced without thesespecific details.

It is into the above-described tradition that we introduce a new conceptin information technology, adding to the arsenal that already includessearching and browsing. This new technology may conveniently be calledinformation surveying, and a system to accomplish such, an informationsurveyor.

Just as traditional surveying has been used to make vast uncharted andunseen regions and resources graspable and exploitable, be they oilreserves, mineral deposits, sea floors, planetary internal structures,and even markets, information surveying is used to target, understand,and exploit areas of interest in information resources.

An information survey, according to an exemplary embodiment of thepresent invention and like a traditional survey, may seek tocharacterize not only the surface but also the sub-surface in order tonarrow down the number of drilling targets, identify potential traps,and identify what is missing. Like all surveys, it may contain a shortdescriptive summary as well as a detailed critical inspection that willcompare and contrast various features. The net result is that aninformation survey seeks to support consolidation, differentiation,evaluation, selection, and variation of many, even millions of resultsat once.

An information survey can, however, be applied to search results and canutilize the taxonomies inherent in category browsing systems, making ita powerful addition to traditional search and browsing systems.

Search and browsing support only retrieval of information butinformation surveying may optionally also be used to support insert,delete, and update operations and/or data definition operations on aninformation resource.

All information resources can be surveyed including but not limited to:products, services, people, Web pages, documents, media databases, datawarehouses, software objects and components, XML files, and even WebServices.

To effectively address the knowledge gap, information surveying mayattempt to adapt an information resource to the user and adapt the userto the information resource. To this end it may seek to adapt to theuser's current knowledge and desires and teach the user what they needto know as they survey. Information surveying may exploit the user'scapacity for critical analysis and judgment and may require only naturalinteraction—explicit weights, priorities, premature choices, knowledgeof dead-ends, and formulation of Booleans and queries are generally notrequired of the user.

Methodology of Information Surveys

We now present and then discuss an exemplary general method ofconducting an information survey.

Terminology

The term user refers to a single user of an information system or aplurality of users, where a user may be a human, a machine, device, orsystem, or a suitably trained non-human life form.

By information resource we mean any single or plurality of systemscapable of providing information to a user, be that provision inresponse to a request or a “push” of information to a user. Sampleinformation resources are listed in Appendix I.

The term entity refers to any object of information accessible via aninformation resource, for example, a relational database tuple, asoftware component, a product, a web page, or a paragraph, sentence, orphase of a file. The entity needn't be stored but may have a virtualexistence until manifested by a request, by processing, bycommunication, by interaction, etc. Examples of such include an entitythat can be inferred based on facts and rules in a rule based system orproduced by an artificial neural network when provided with suitableinput.

By predicate we mean any functionally equivalent representation of aproperty, trait, attribute, characteristic, relationship, measurement,constraint, action, semantic property, coding sequence, etc., fuzzy ornon-fuzzy, explicit or implied, expressed or latent.

A survey niche represents one or more identifiable portions, areas, orregions of an information resource that is being surveyed.

A partition refers to a grouping of entities that reside within thesurvey niche.

A characterized partition is characterized in such a way so as todifferentiate it from other partitions in the survey niche.

Fully informed refers to the characterization of partitions thatdifferentiate (fully or partially) each partition in the survey nichefrom others.

Transformation modifies the survey niche by any of a number oftransformation techniques, for example to bring it into better alignmentwith an information resource and the user's desires.

The General Survey Method

Referring to FIG. 1, a survey niche is initialized at operation 12 whenthe survey is begun. A survey niche represents one or more identifiableportions, areas or regions of an information resource that is beingsurveyed. Initialization may be effectuated directly by a set ofpredicates or their functional equivalents, or indirectly throughexample entities. The initialized niche is a starting point that willundergo change and transformation over the course of the survey. It isnot a hard and fast constraint, as is a query filter, and it needn't beright on target to begin with. Initialization may also be accomplishedby identifying an existing survey niche.

At operation 14, the survey niche undergoes transformation in order tobetter address the knowledge gap. Transformation may bring the niche,initialized by the user, into alignment with an information resource,exploiting the knowledge possessed by the resource but not the user.Transformation may expand, contract, shift or otherwise modify thesurvey niche. Transformation may be conducted to accomplish specificends or implement specified policies, e.g., to achieve or facilitatespecific partitioning and characterization goals. Means fortransformation include but are not limited to the interaction of users,the application of functions and processes, and/or the application ofinformation. At operation 16, the entities that occupy the survey nicheare retrieved.

At operation 18, the survey niche of entities is partitioned.Partitioning may be strict, where an entity may only belong to a singlepartition, or it may be soft, where partitions overlap. The end resultis to abstract over what may be numerous individual entities and toproduce less numerous partitions.

Partitions may, however, be regarded as being a broader identificationof entities than what is commonly understood to be a “category”.Consider for example that labeled categories may presuppose anunderstanding of and agreement with what the category label means, andsuch understanding cannot be assumed due to the knowledge gap. Certain“categories” cannot be unambiguously compared and analyzed for the samereason.

At operation 20, each partition is characterized by predicates, whichmay represent attributes shared by entities within the partition, orrepresent relationships, properties, characteristics, etc. All thepartitions within the survey niche are so characterized—the completecharacterization of each partition serves to differentiate it from allother partitions in the niche. Each partition may accordingly, in theexemplary embodiment, be thought of as a complex neologism, e.g., acomposition of predicates composed on the fly. Just as the word teapotis the composition of the words tea and pot, a survey partition can bethe composition of predicates such as “red 1997 corvette sunroofrear_wheel_drive”. Partitions may also be characterized in ways notunique to a single partition, i.e., non-differentiating. We call suchcharacteristics survey monitors. The value of a survey monitor may notbe shared by all entities within a partition, in which case the surveymonitor for such a partition would be a statistic, such as a mean,median, mode, or standard deviation of the monitor across all theentities in the partition. The principle role of a survey monitor is toprovide a user with additional information on a partition and itsentities for aspects the user wishes to be aware of but does not wish toconstrain.

Partitions, and optionally the entities within each, are then presentedto the user at operation 24. At operation 26, the user may compare andcontrast partitions by their unique characterizations as well as by theentities present within them. They may observe the trade-offs that wouldoccur were they to select one partition of entities over another.Functionally, this is similar to a well-designed features table thatenables products, cars or computers, for example, to be compared andcontrasted. But while a features table compares individual entities, thesurvey compares partitions of entities, providing the abstraction neededto handle the large numbers of entities within the informationresources.

At operation 28, the fully informed user is enabled to apply theircapacity for critical judgment in selecting one or more partitions, inwhole or in part, either as the end product of the survey, or forfurther development of the survey. The entities are presented to theuser at operation 30.

Should the user decide to continue, the survey method proceeds byreforming a new survey niche based on the partitions selected by theuser at operation 32. This new niche may then be transformed atoperation 14 in order to expand, contract, and/or shift the niche, andthe operations 16 through 30 may then be repeated. Operations 14 through32 may be repeated an arbitrary number of times.

Comparing Information Surveying with Searching and Browsing forInformation

Compared with searching and browsing, an information survey, in oneexemplary embodiment, may not require the user to navigate a structure,pose a query, or to know how to express a constraint. In fact, the userneedn't have anything but a vague idea of what they want, only enough toget the survey started.

Search, by comparison, typically requires each user to know what theyare looking for in advance of finding it, a requirement rarely met dueto the knowledge gap. All too often, search systems return dozens tomillions of items and present these one by one to the user, providing noadditional assistance in selecting amongst those items. Search thenrequires users to reformulate queries—a skill most users lack.

Category systems portray a resource in a fixed form, rigidly defined byan unknown 3^(rd) party according to principles not necessarily sharedwith the user, and often constitute 10,000 to a million nodes, animmense infoglut in themselves. Category systems and taxonomies provideonly limited informing by offering paths but do not help the userunderstand how the paths or their destinations differ, with theconsequence that users of such systems often run into dead ends or findthemselves lost, and in either case must backtrack.

According to one exemplary embodiment of the present convention, aninformation survey groups the entities in a region of the informationresource, the survey niche, into partitions according similarities anddifferences and presents them to the user. Thus informed, the user isable to appreciate how the characteristics of each partition aredifferent from every other partition. The user then chooses thosepartitions that have characteristics they find desirable and uses thesurvey to continue to differentiate them. All the information surveyuser may be required to do is make decisions, decisions that are fullyinformed by the survey.

Surveying seeks not only to find and characterize resources but also toaid the user in where to look for those resources to begin with,something neither searching nor browsing even attempt to do. The surveyuser need not have previous knowledge of the resource, either physically(as in what is near what) or conceptually (as in what is related towhat). Surveying specifically assists the user in identifying the mostuseful and appropriate niche of an information resource to survey, inaddition to revealing the most useful information on the entities withinthat niche.

Therefore, information surveys can be used to characterize andunderstand the similarities and differences amongst many entities,taking them beyond search systems that only retrieve entities.Furthermore, the survey method may assume there will be many entities,and uses abstraction to enable the user to handle the infoglut ratherthan become overloaded by it. But unlike category systems, theabstraction is based on a characterization initialized and steered bythe user and uniquely suited to the information resource. A survey maypartition millions of entities into ten to a thousand partitions, forinstance, which contain those millions of entities and shows how theyare related and how they differ, and therefore how well targeted theyare to the user's needs. A user may confidently discard millions ofentities by simply not selecting a given partition and continue todifferentiate millions by selecting the partitions in which they arise.

The survey method is particularly suited to networks where communicationand bandwidth are sporadic, bursty, unreliable, and generallyintermittent and non-continuous. Wireless networks are one example wherethe survey method presents physical advantages over searching andbrowsing. Even for networks with continuous availability, the surveymethod can reduce network utilization, compared with search and browse.This is due to the fact that search and browsing, when conducted over anetwork of any type, are extremely chatty means of seeking andnavigating information, requiring many sequential round trips to theinformation resource under study. The survey method, by comparison, mayutilize far fewer round trips, where each round trip performs manyoperations in parallel, potentially anticipating the user's needs byincluding operations the user would never even conceive of, due to theknowledge gap.

Varieties of the Survey Methodology

The method of information surveying can be implemented in a great manyways. In one exemplary embodiment, there are three choices thatdetermine the kind of implementation: what the survey niche representsand how it is represented; how characterized partitions are formed; andhow transformation and reformation of the survey niche is accomplished.

While there are a multitude of ways each of these choices can be made,and many more combinations of these ways, for illustrative purposes wenow examine several exemplary “themes” of the survey methodology. Thesethemes introduce ways of making these choices, which can be combined adinfinitum in implementation of the survey method.

Surveying with an Evolutionary Theme

Evolutionary computing (EC) may, by way of analogy, be regarded asapplying the principles of biology's “origin of species by naturalselection” to evolution of computational entities. EC includes geneticalgorithms and interactive genetic algorithms, Alife, artificialevolution, evolutionary programming, and evolutionary strategies.

With EC, a number of computational entities are supplied, each with amachine-readable representation from which it can be generated. Thisrepresentation may be thought of as the entity's “genome”. The entitiesmay be caused to “mate” whereby they exchange genetic material in aprocess called crossover. The new genomes that result may also undergotransformation via a mutation process that can add genetic material to agenome, remove material, or modify material. A new generation ofentities is spawned from these new genomes. This new generation ofentities may then undergo a selection process—the computationalequivalent of competing for survival. In standard EC, the selection maybe performed by an algorithm implementing a fitness function, whichassigns a fitness value to each new entity, and those entities with asufficiently high fitness value are selected to mate in the nextgeneration. In interactive EC, such as artificial evolution andinteractive genetic algorithms, the selection may be performed by a userwho decides which new entities will go on to mate to create a newgeneration, and which will die without passing on their geneticmaterial.

Implementing the survey method in an EC context means that a surveyniche represents traits of entities and/or genetic coding sequences thata user has interest in surveying (traits and coding sequences may alsobe specified indirectly by having a user indicate example entities ofinterest and having the survey system find and use the traits and/orcoding sequences of those entities). Transformation of the survey nichemay be accomplished by applying crossover and mutation operators (butnote: EC only employs random crossover and mutation operators, but whenapplied to the survey method crossover and mutation may be random,non-random, or partly random). Partitioning may be accomplished bysegregating entities by their species or other segmentation basis, e.g.,clustering. Partitions may then be characterized by traits and/or codingsequences, enabling them to be compared, contrasted, traded-off, andselected. Lastly, when a new generation of entities is to be generated,crossover operator(s) may be employed to take selected partitions(selected by a user, a fitness function, or by other means) and form anew niche that contains them but excludes partitions not selected. Theprocess may then be iterated for an arbitrary number of generations.

An exemplary implementation of the general survey method within thecontext of the evolutionary computing theme may be illustrated withreference to FIG. 2. A survey niche is initialized at operation 34. Theexemplary survey niche represents traits of entities and/or codingsequences that a user has interest in surveying (traits and codingsequences may also be specified indirectly by having a user indicateexample entities of interest and having the survey system find and usethe traits and/or coding sequences of those entities). At operation 36,the survey niche is transformed by applying crossover and/or mutationoperator(s) that may be random, non-random, or partly random. Entitiesthat occupy the niche are retrieved at operation 38. At operation 40,the survey niche of entities is partitioned. Partitioning can beaccomplished by segregating entities by their species or othersegmentation basis, e.g., clustering, at operation 40. At operation 42,the species are characterized by traits and/or coding sequences todifferentiate them from each other. Partitions, and optionally theentities within each partition, are then presented to the user atoperation 44. At operation 46, the user may assess tradeoffs betweenspecies by comparing and contrasting the species and their entities. Atoperation 48, the user may select one or more species. At operation 50,the entities of the species are presented to the user. Should the userdecide to continue, the survey method may reform the survey niche, itsspecies, and its entities by application of crossover and/or mutationoperators based on user selections, at operation 52, and iterate.

Surveying with a Semantic/Conceptual Theme

Artificial intelligence, knowledge representation, natural languageprocessing, cognitive science, connectionism, database management, andrelated fields have generated a plethora of means to capture andrepresent semantic information, i.e., information that has clearly,unambiguously defined meaning. While the number of representationalformalisms for semantic information is too vast to review here, for themost part they all revolve around a central notion—a concept. A conceptsimultaneously defines a collection of related existents (e.g.,entities, attributes, relationships, properties, aggregates, etc.),called the concept's extent or extension, and a set of traits shared bythese existents, called the concept's intent or intention. Most semanticsystems then relate concepts by a conceptual structure, examples ofwhich include semantic networks, frame systems, rules bases, topic maps,conceptual graphs, etc. Even database management systems and softwaredesign systems carry semantic information, although typically of a morelimited nature, as schema information, models, and metadata, which canbe employed in this survey theme. Furthermore, many such systems offermeans to support concept formation, employing lexical, semantic, and/orstatistical techniques to accomplish such.

With reference to FIG. 3, an exemplary implementation of the generalsurvey method in the context of the semantic/conceptual theme yields amethod to conduct a semantic/conceptual information survey. A surveyniche of an information resource is initialized at operation 54. For thepurpose of realizing the survey method in a semantic/conceptual context,a survey niche captures semantic traits, e.g., attributes,characteristics, relationships, properties, actions, and aggregates thata user wishes to survey. There are numerous means by which such traitsare represented across the gamut of semantic systems, includingpredicates and their functional equivalents.

The survey niche is transformed by applying semantic operator(s) and/orconceptual structure(s) at operation 56. In one exemplary embodiment,the traits of the niche can be generalized (e.g., an SUV is generalizedas a truck), specialized (e.g., a truck is specialized as a pickup),analyzed into component parts (e.g., a drive train analyzed into engine,transmission, drive shaft, etc.), assembled with other traits intoaggregates, modified by application of a relationship (e.g., a wheel isreplaced or supplemented by that which surrounds it, e.g., a tire).These semantic operators may be combined singularly and in plural. Theymay also be applied deterministically or non-deterministically, e.g., asin evolutionary computing, or partly non-deterministically.

Concepts are formed at operations 58-62 and employed as surveypartitions, as they provide a natural and direct means to partitionentities, by concept extent, and characterize each partition, andtherefore the entities within, by concept intent. Even databases andsoftware design systems, with their more limited semantics, providerudimentary concepts: database tables (e.g., relations) possess anextent, their tuples, and an intent, their schema; software objectsinclude subtypes and instances as extent and their class definition,including their supertypes, and methods, as intent.

At operation 64 the concepts are presented to the user in whole or inpart. At operations 66 and 68, the user is enabled to compare, contrast,and conduct tradeoff analyses of the concepts and their entities bysemantically defined traits, and select one or more of the concepts. Theentities of the concepts are presented to the user at operation 70. Anew survey niche may be formed by aggregating the semantic traits of allselected concepts at operation 72. The process may then be iterated forany number of generations.

Surveying with a Topological Theme

In this theme we focus on the mathematical notions of nearness andconnectedness to realize the survey method. Specifically we employ themathematical structure of a lattice to drive partitioning andcharacterization of resulting partitions. This is detailed in thesection below, “Partitioning by Lattice”. In that section we generalizean existing notion to produce a predicate lattice and introduce a surveylattice. For the topological theme we choose predicates, or theirfunctional equivalents, as a theme-neutral form with which to representthe survey niche, and transformation can be accomplished by any means,such as the crossover and mutation operators of evolutionary computingand/or the semantic operators of the semantic/conceptual theme.

Referring to FIG. 4, an exemplary implementation of the general surveymethod within the context of the topological theme yields a method toconduct a topological information survey by initializing a survey nicheof an information resource at operation 74 by predicates or theirfunctional equivalents, transforming the survey niche at operation 76,and forming and presenting survey lattice elements belonging to saidniche at operations 78-82. The user is enabled to compare, contrast, andconduct tradeoff analyses of elements of the lattice and their entitiesby predicates at operation 84 and 86, select one or more of the elementsat operation 88, present the entities of the elements at operation 90,and reform said survey niche, its survey lattice, and its entities atoperation 92, based on user selections. The process may then be iteratedfor a number of generations.

Combining Survey Themes

As noted previously, the way the three exemplary choices are made withineach theme can be combined in numerous ways in implementing the surveymethodology.

Referring to FIG. 5, an exemplary implementation of the general surveymethod within the context of a combined semantic/conceptual andevolutionary computing theme yields a method to conduct asemantic/conceptual and evolutionary information survey by initializinga survey niche of an information resource at operation 94 bysemantically defined traits and/or coding sequences and transformingsaid survey niche at operation 95 by any means including application ofcrossover operator(s), mutation operator(s), or semantic operator(s),forming and presenting species of entities belonging to said niche atoperations 96-100. The species are presented to the user at operation102. At operations 104-106 the user may compare, contrast, and conducttradeoff analyses of said species and their entities by semantic traitsand/or coding sequences, and select one or more said species, in wholeor in part. At operation 108, the entities of the species are presentedto the user. The survey niche, its species, and its entities may bereformed at operation 110 by, e.g., application of crossover operators,based on user selections. The process may then be iterated for anynumber of generations.

Referring to FIG. 6, an exemplary implementation of the general surveymethod within the context of a combined evolutionary computing andtopological theme yields a method to conduct an evolutionary andtopological information survey. At operation 112, a survey niche of aninformation resource is initialized by predicates, which representtraits and/or coding sequences, and transformed at operation 114 byapplying crossover operator(s) and/or mutation operator(s). The speciesof entities belonging to said niche are formed and presented atoperations 116-120, where the species are represented by survey latticeelements. At operation 122 the species are presented to the user inwhole or in part. At operations 124, 126 the user may compare, contrast,and conduct tradeoff analyses of said species and their entities bypredicates, and select one or more said species. At operation 128, theentities in the species are presented to the user. At operation 130, thesurvey niche, its species, and its entities may be reformed byapplication of crossover and/or mutation operators based on userselections. The process may then be iterated for any number ofgenerations.

Referring to FIG. 7, an exemplary implementation of the general surveymethod within the context of a combined semantic/conceptual andtopological theme yields a method to conduct a semantic/conceptual andtopological information survey by initializing a survey niche of aninformation resource by semantic predicates at operation 132, andtransforming said survey niche by applying semantic operator(s) and/orconceptual structure(s) at operation 134. The concepts or theirfunctional equivalents of entities belonging to said niche are formedand presented at operations 136-140, where concepts are represented bysurvey lattice elements. At operation 142 the concepts are presented tothe user in whole or in part. At operations 144-146 the user maycompare, contrast, and conduct tradeoff analyses of said concepts andtheir entities by semantic predicates, and select one or more saidconcepts. At operation 148, the entities of the concepts are presentedto the user. At operation 150, the survey niche, its concepts, and itsentities may be reformed by aggregating semantic predicates based onuser selections. The process may then be iterated for any number ofgenerations.

Referring to FIG. 8, an exemplary implementation of the general surveymethod within the context of a combined semantic/conceptual,evolutionary, and topological theme yields a method to conduct asemantic/conceptual, evolutionary and topological information survey byinitializing a survey niche of an information resource by semanticallydefined traits and/or coding sequences represented by predicates atoperation 152, and transforming said survey niche at operation 156 byapplying a crossover operator, a mutation operator, a semantic operator,and/or a conceptual structure. The concepts or their functionalequivalents of entities belonging to said niche are formed and presentedat operations 156-160, where concepts are treated as species and arerepresented by survey lattice elements. At operation 162 the conceptsare presented to the user in whole or in part. At operations 164-166,the user may compare, contrast, and conduct tradeoff analyses of saidconcepts and their entities by predicates, and select one or more ofsaid concepts. At operation 168, the entities of the concepts arepresented to the user. At operation 170, the survey niche, its concepts,and its entities are reformed by any means including aggregation ofpredicates, based on user selections. The process may then be iteratedfor any number of generations.

Walk-Thru of the Survey Method

We next present an example of the combined semantic/conceptual,evolutionary, and topological information survey method in action.Operation references are to the General Survey Method above.

First the user establishes the survey niche (operation a) by listingdesired characteristics that express the known objectives. Thesecharacteristics can be incomplete and inconsistent, brief or thorough,and provided at various levels of abstraction.

Initialized Survey Niche: purple, steel, widget, <=6 lbs

Next, automatic variation transformation (operation b) takes place tovary the survey niche by adding/removing characteristics according tothe variation preferences the user has set. This variation can broaden,narrow, shift, integrate, and/or differentiate the characteristics inthe survey niche and can optionally be performed under user control.

Varied Survey Niche: purple, widget, wicket, steel, plastic, wood, <=6lbs, >6 lbs

This variation informs the user of objects similar to widgets, namelywickets, because wickets are often lighter than widgets and the userexpressed a weight constraint. The variation transformation also addsplastic and wood, typical alternative materials for lightweight widgets.The characteristic >6 lbs was added by random variation to enable thesurvey to inform the user of more alternatives should the user decidethat weight is not the most important feature.

Species are then formed by retrieving individuals that possess any orall niche characteristics, partitioning those individuals by using asurvey lattice, and characterizing the survey lattice elements accordingto satisfied niche characteristics (operation c).

The survey lattice table of dominant species is presented to the useralong with a table of fundamental not available combinations of nichecharacteristics (operation d). Species that are presented also havelinks to their individuals. Generation 1: Dominant Species Niche SpeciesA Species B Species C Species D Purple Y Y Y Y Widget Y Y Y Wicket YSteel Y Y Plastic Y Wood Y <=6 lbs Y Y Y   >6 lbs Y Fundamental notavailable combinations of characteristics - partial listing Niche NA 1NA 2 NA 3 NA 4 NA5 NA6 NA7 Purple Widget X X Wicket X Steel X X XPlastic X X X Wood X X <=6 lbs X X   >6 lbs X X

This completes the most basic survey.

The user next uses the survey lattice table presentation to understandthe survey niche, observe relationships side-by-side, and assess thetrade-offs they may make. They are able to observe characteristics incontext, noting that they cannot get a steel widget that is <=6 lbs butthat they can get one that is >6 lbs. The user can notice that the colorpurple is always available and therefore understand that they do notneed to modify that characteristic to get what they want. They cancompare and contrast, noting that steel widgets tend to be heavier thanplastic and wooden widgets although steel wickets are lightweight.

In order to better grasp the other features of the species, they maysample the individuals of each species, bringing forth additionalinformation such as the manufacturers, prices, and part numbers.

Based on their evaluation, the user selects dominant species B and D toevolve. This will reinforce the user's most desired nichecharacteristics and reshape the survey niche.

A crossover operator creates a new survey niche by aggregating the nichecharacteristics of the selected species.

The new survey niche: purple, widget, wicket, steel, plastic, <=6 lbs.

The system then transforms the new survey niche through variation,adding characteristics such as gadgets and gizmos, which are kinds ofwidgets. Subtypes of steel are provided by the automatic variation, asare lower weight differentiators. Wood has been rejected, so it isremoved from the survey niche.

The varied new survey niche: purple, widget, gadget, gizmo, wicket,steel, stainless steel, carbon steel, plastic, <=4.6 lbs, and >4.6 but<−6 lbs.

The system identifies the individuals in this survey niche for thesecond generation, once again forming and characterizing species using asurvey lattice, and presenting the survey tables to the user. Generation2: Dominant Species Niche Species E Species F Species G Species H PurpleY Y Y Y Widget Y Y Gadget Y Gizmo Y Wicket Y Y Steel Y Y Stainless steelY Carbon steel Y Plastic Y Y <=4.6 lbs Y Y >4.6, <=6 lbs Y Y FundamentalNot available combinations of characteristics - partial listing Niche NA8 NA 9 NA 10 NA 11 Purple Widget X Gadget Gizmo X Wicket X Steel X X XStainless steel Carbon steel Plastic X X <= 4.6 lbs X >4.6, <= 6 lbs X

The user now continues their evaluation by adding survey monitors fortorque capacity, weather rating, and average price. Species E Species FSpecies G Species H Survey Monitors Torque capacity 10 25 30 45 (ft lbs)Weather rating 5 5 10 2 Avg. MSRP $0.50 $0.60 $1.75 $0.90

The dominant species table augmented with the related survey monitorstable now shows that Species E has purple gizmo widgets made of plastic,<=6 lbs with a torque capacity of 25 ft lbs, a weather rating of 5years, and an average price of $0.60. The user decides that thedifference in cost is more important than the difference in weight andthat the weather rating and torque capacity are sufficient to the job.

The user then requests a presentation of the individuals in the speciesand is able to select one of them. Individuals in Species F 1 2 3 4Manufacturer American Acme Southern J&J Part Number 45T-931 654997500-991 MSRP $.55 $.65 $.60 $.60 URL to resource Link1 Link2 Link3 Link4

The user is now in a position to recommend, specify, or purchase one ofthese individuals, confident that they have found the individuals withall the characteristics they need. This includes information they werenot aware of prior to conducting the information survey, such as varioustypes, materials, and ratings.

Partitioning by Lattice

Now we will drill down into an exemplary topological partitioningmethod, which is applicable, as we have discussed, across many themes ofinformation surveys. We begin by reviewing the concept of query latticeas a means of partitioning and surface it's limitations for thispurpose. Next, we generalize the notion of a query lattice to apredicate lattice to free it of these limitations. We then specializepredicate lattice for the purpose of information surveys. We call this asurvey lattice.

Query Lattices

The concept of a query lattice was introduced by researchers in naturallanguage recognition and cooperative information systems during the late1970's and early 1980's. The purpose of forming and using a querylattice was to provide more useful information to a user when a user'squery failed to return any results. Specifically, a query lattice wasgenerated only when a query, as formulated by a person, failed to returna result set, i.e., returning only the empty set.

A query lattice can reveal what these researchers referred to as falsepresumptions or presuppositions, and they labeled lattice elements thatreflected these as failing subqueries. Some researchers also identifiedpartial answers to a user's failing query, based on those subqueries ofthe user's query that succeed.

Regarding these two classes of query lattice elements, researchersidentified the minimal failing subquery(ies) and the maximal succeedingsubquery(ies) as providing the most useful information to a user whentheir original query failed. Specifically, when a user's query failed asformulated, the query lattice for that query would be generated.Presenting the minimal failing subqueries of the query lattice wouldinform the user directly about the false presupposition(s) the userholds, while presenting the maximal succeeding subqueries would providethe user with partial or approximate results to their request.

Query Lattice Example

Failing query:

-   -   Dog, long hair, meow, bark

Minimal failing subqueries:

-   -   Bark, meow    -   Dog, meow

Maximally succeeding subqueries:

-   -   Dog, long hair, bark    -   Long hair, meow

Note that with a query lattice, however, false presuppositions held by auser are only identified when the user's query fails as formulated. Auser may, and often does hold false presuppositions and false knowledgeabout an information resource, or lacks such knowledge nearly altogetheror in general, even when they are able to phrase a successful query.That a query succeeds is not grounds for concluding that what the usermeans by their query is equivalent to how the information resourceinterprets that query—the two can differ without causing queryfailure—and when this occurs a query lattice is valueless.

Another way of saying this is that a user's query may succeed even whenit based on a false understanding of the information resource. But aquery lattice only provides value when a user's understanding iscatastrophically out of alignment with an information resource. However,most times there is not catastrophic misalignment. Thus, in mostinteractions with information resources, query lattices do not providevalue.

We can summarize this discussion by noting two limitations of querylattices. The first limitation is that a query lattice can only providevalue in the presence of a query—browsing and discovery-drivenexploration are not aided by query lattices. The second limitation isthat a query lattice requires the query on which it is based to fail—aquery that, as formulated by a user, succeeds does not lead to a querylattice (i.e., all subqueries of a succeeding query also succeed).

A third limitation of query lattices stems from how a subquery isdecided to succeed or fail. In all utilizations of query lattices,whether from research or development, academic, government, orcommercial organizations, a subquery only succeeds when at least asingle entity can be retrieved or inferred that meets all conditions ofthe query. This overlooks numerous situations when multiple relatedentities, when aggregated and taken as a unit, can be retrieved orinferred to meet all conditions of the query. One need only considerassemblies of parts and networks of people to see this gaping hole leftby query lattices.

The world has changed in the 20 plus years since query lattices wereintroduced. Today, the problem of queries returning no results haspractically vanished, replaced by infoglut, with huge repositories ofinformation that are becoming exponentially larger, more complex, morevolatile, and more opaque. Instead of queries that fail by returning noresults, today we have queries that return far too many results, withresults often numbering in the millions (e.g., for web searches).

The idea of applying a lattice structure to information is stillrelevant, however there are advantages to the lattice structure beingdriven by something other than directly by a query that fails asformulated, if the lattice is to provide useful information in mostcircumstances, not just in the most pathological cases.

Predicate Lattices

We now generalize the concept of query lattice to produce a predicatelattice, according to one exemplary aspect of the present invention. Apredicate lattice is generated by taking a given set of predicates ortheir functional equivalents, forming the power set of the set ofpredicates (i.e., the power set of a given set is the set of all subsetsof the given set), then ordering the elements of the power set in apartial ordering by set subsumption (i.e., an element A is less than orequal to an element B if A is a subset of B). In this usage a predicateof any sort, or any functional equivalent, can represent a property,trait, characteristic, relationship, measurement, constraint, semanticproperty, action, coding sequence, etc. This role may also be filled byany computational object(s), function(s), procedure(s), rule(s), orprocess(es) whose evaluation produces a predicate or any functionalequivalent. Furthermore, predicates can be fuzzy.

Two classes of predicate lattice elements are identified, namelysatisfiable predicate lattice elements and unsatisfiable predicatelattice elements. Satisfiability, and likewise unsatisfiability, may bedefined in a plurality of ways, including single entity satisfiabilityand related entity satisfiability.

Referring to FIG. 9, block 172 is an example of single entitysatisfiability. A predicate lattice element is single entity satisfiableif there is at least one entity in an information resource thatsatisfies every predicate of the predicate lattice element. Block 174 isan example of single entity unsatisfiability. A predicate latticeelement is single entity unsatisfiable if it is not single entitysatisfiable. Block 176 is an example of related entity satisfiability. Apredicate lattice element is related entity satisfiable if there existstwo or more information resource entities and these entities are relatedwithin the information resource and/or related by external informationresources or processes such that each predicate of the predicate latticeelement evaluates to true for at least one of the related entities.Block 178 is an example of related entity unsatisfiability. A predicatelattice element is related entity unsatisfiable if it is not relatedentity satisfiable.

Note 1: Single entity satisfiability may be regarded as a special case(the trivial case) of related entity satisfiability where therelationship between entities is the identity relationship, i.e., all ofthe related entities, that together satisfy the predicates in the set ofpredicates, are the same single entity.

Note 2: Additional forms of satisfiability and unsatisfiability may beproduced by specifying constraints on the type and extent of therelationship in related entity satisfiability and unsatisfiability(single entity satisfiability is an example of this).

Each of these means of determining predicate lattice elementsatisfiability (or unsatisfiability) depends on the satisfiability (orunsatisfiability) of the individual predicates that constitute apredicate lattice element, which can be determined in a great many ways,including any or all of the following, singularly or in any combination:a lookup operation against stored information, inference, computation ingeneral, communication, interaction with people, or interaction with thephysical world aside from computing systems and devices, e.g., throughsensors or by performing an experiment or measurement.

Regarding these two classes of predicate lattice elements, satisfiableand unsatisfiable, maximal satisfiable predicate lattice elements andminimal unsatisfiable predicate lattice elements may be identified,where maximal and minimal are defined in terms of the partial orderingon the predicate lattice.

We may now compare query lattice with predicate lattice. A query latticeis an instance of predicate lattice where the set of predicates uponwhich the predicate lattice is formed is provided directly by a user'squery that fails as formulated and where satisfiability is determinedstrictly by single entity satisfiability. A minimal failing subquery ofa query lattice is an instance of a minimal unsatisfiable predicatelattice element. Similarly, a maximal succeeding subquery is an instanceof a maximal satisfiable predicate lattice element.

Survey Lattices

In one exemplary embodiment of the present invention, a survey latticeis any instance of predicate lattice where the set of predicates uponwhich the lattice is based is obtained from any source other than adirect usage of the predicates of a query that, as formulated, failssingle entity satisfiability. Types of predicate lattices Related entitysatisfiability Single entity Source of set of predicates (non-single)satisfiability (only) Non-query Survey lattice Survey lattice Querysucceeds as formulated Survey lattice Survey lattice Query fails asformulated Survey lattice Query lattice

For example, a survey lattice can be formed based on a set of predicatesobtained from each distinct value of each distinct attribute andrelationship in a database—no query is required. A predicate obtainedfrom each distinct value is an example of a single-value predicate. Seethe survey lattice example below for an illustration of single-valuepredicates derived from an information resource.

A slight variant of single-value predicate is set-value predicate, wherethe predicate is satisfied by any of the values in the set. Anothervariant of single valued predicate is range-value predicate, where onerange predicate is satisfied by multiple values in an informationresource (e.g., the range predicate “2 meters<length(X)<=5 meters” wouldbe satisfied for X=2.5 meters, X=3 meters, and X=5 meters).

As a second example, a survey lattice can be formed based on a set ofpredicates obtained from each distinct entry in an index, such as termsin an inverted full text index. This too, like the preceding example,can use ranges and sets. Once again, no query, failing or otherwise, isrequired.

As a third example, a survey lattice can be formed based on a set ofpredicates obtained by taking user input, such as a query, request, orcommand, and transforming it through means deterministic,non-deterministic, or partially non-deterministic, and this can be doneindependent of whether the user input, as entered by the user, fails orsucceeds. Such transformation(s) may modify predicates in the set ofpredicates as well as add new predicates and/or delete existingpredicates.

As a fourth example, a survey lattice can be formed based on a set ofpredicates obtained by taking one or more entities from an informationresource and identifying and using the predicates, of any type, thatcharacterize the entity or entities. This indirect method may becombined with the approaches in the previous examples.

As a fifth example, any of the previous means may be augmented byabstraction, including generalization and specialization, and/ormeta-abstraction, to produce one or more predicates. For an informationresource with distinct values of cat, dog, goldfish, and gerbil, a validpredicate could be house_pet(x). For additional means of formingpredicates via abstraction, see the section farther below ontransformation.

As a sixth example, many types of information resources, including rulesystems and logic systems, employ predicates or their functionalequivalents directly as their form of representation. Predicates, andeven whole lattice elements, may be obtained directly or with littlemodification from such resources.

As these examples illustrate, a survey lattice can be generated from auser's succeeding query, and moreover, can be employed even in scenarioswhere there is no query at all. Means of obtaining a set of predicates,upon which a survey lattice is formed, include but are not limited toderivation from or association with: data values and metadata, datastructures, conceptual structures, communications, processes of any type(computational and non-computational) and their structure, symbolicreasoning, non-classical-logic, heuristics, events, tasking, objectives,criteria, and queries.

A survey lattice provides a user with an abstraction of an informationresource that culls out information that may be useful for understandingand navigating that resource and summarizes such information in aloss-less manner. Maximal satisfiable and minimal unsatisfiable surveylattice elements are the root of a survey lattice's power ofabstraction.

Maximal satisfiable survey lattice elements focus a user's attention onthe essential commonalities and differences amongst entities ofinterest. They inform the user of the tradeoffs involved, wheresatisfaction of one or more requirements leads to foregoing others. Inaddition, each maximal satisfiable element represents potentially verymany entities, enabling the user to handle the huge numbers associatedwith infoglut. Furthermore, the entities of a maximal satisfiable surveylattice element can be considered exemplars or prototypes, e.g., each ofthese entities is crucially distinct (compared with the entities ofother maximal satisfiable survey lattice elements). By selecting andexamining one or more entities from all maximal satisfiable surveylattice elements one obtains a concrete understanding of that region ofthe information resource circumscribed by the set of predicates, i.e.,survey niche. And the “maximal” in maximal satisfiable survey latticeelements means they do all this without redundancy—all redundant andless informative characterization is already stripped away so as not towaste time, effort, or resources.

Minimal unsatisfiable survey lattice elements, on the other hand, informthe user of areas of an information resource that are vacuous. Theyidentify, in a condensed form, areas of exploration that will yield noresults. Any exploration or request that includes all the predicates ofa minimal unsatisfiable survey lattice element is certain to fail, andby being informed of this the user can avoid wasting time, effort, andresources looking for the wrong things in the wrong places.

Because it does not require a query, a survey lattice can be used forbrowsing as well as for focused searching. Furthermore, succeedingqueries can serve as kernels to seed a survey lattice, wheretransformation means, deterministic and otherwise, as noted above, areused to drive the set of predicates of such a succeeding query intounsatisfiability. Such a query could never be used to form a querylattice as a query lattice is only defined for a query that fails asformulated.

All of this makes a survey lattice a powerful tool for understanding,navigating, and summarizing/abstracting information resources under manyconditions, not just under the most catastrophic.

Survey Lattice Example

For the following example we utilize the sample explicit informationresource below (all information is explicitly recorded and stored, onlyretrieval is required, no inference is required). We then form a set ofpredicates by defining a predicate for each distinct value of eachattribute of the information resource. We then enumerate all theelements of the survey lattice generated by this niche, based on singleentity satisfiability. FIGS. 10-11 illustrate the survey latticeincluding its satisfiable elements, unsatisfiable elements, maximalsatisfiable elements, and minimal unsatisfiable elements.

Row 180 of FIG. 10 represents the top element, in this case the set ofpredicates that constitutes the survey niche. Row 182 represents thefive elements, each element consisting of four predicates. Row 184represents the ten elements, each element consisting of threepredicates. Row 186 represents the ten elements, each element consistingof two predicates.

Row 188 represents the five elements, each element, called an atom ofthe lattice, consisting of one predicate. Row 190 represents oneelement, the one element consisting of zero predicates.

Blocks identified by shading with a heavy border as in block 192,represent the maximal satisfiable survey lattice elements. Blocksidentified without shading but with a heavy border, as in block 194,represent the minimal unsatisfiable survey lattice elements.

Referring to FIG. 11, blocks identified by shading with a thin border,as in block 196 represent satisfiable survey lattice elements, blocksidentified without shading with a thin a border, as in block 198represent unsatisfiable survey lattice elements, blocks identified byshading with a heavy border, as in block 200 represent maximalsatisfiable survey lattice elements, and blocks identified by withoutshading with a heavy border, as in block 202, represent minimalunsatisfiable survey lattice elements. Sports cars information resourcePrimary Drive Key Name #_cyl layout Sunroof 10123 Eclipse 6 FWD Y 20728Corvette 8 RWD N 20729 Corvette 8 RWD N 70291 Firebird 8 RWD N 63225Aston Martin 8 RWD Y 10135 Porsche 911 6 RWD Y 11222 Nissan 6 FWD Y38423 Toyota 6 RWD Y 89724 Jaguar 8 RWD N 89725 Jaguar 8 RWD Y 42895Lexus 8 RWD YSurvey Niche (of Single Valued Predicates)

6_cyl(x)

8_cyl(x)

FWD(X)

RWD(x)

Sunroof(x)

Lattice Elements

Top element (=the set of predicates that constitutes the survey niche){6_cyl(x), 8_cyl(x), FWD(x), RWD(x), Sunroof(x)}

5 elements of 4 predicates

{6_cyl(x), 8_cyl(x), FWD(x), RWD(x)}

{6_cyl(x), 8_cyl(x), FWD(x), Sunroof(x)}

{6_cyl(x), 8_cyl(x), RWD(x), Sunroof(x)}

{6_cyl(x), FWD(x), RWD(x), Sunroof(x)}

{8_cyl(x), FWD(x), RWD(x), Sunroof(x)}

10 elements of 3 predicates

{6_cyl(x), 8_cyl(x), FWD(x)}

{6_cyl(x), 8_cyl(x), RWD(x)}

{6_cyl(x), FWD(x), RWD(x)}

{8_cyl(x), FWD(x), RWD(x)}

{6_cyl(x), 8_cyl(x), Sunroof(x)}

{6_cyl(x), FWD(x), Sunroof(x)}

{8_cyl(x), FWD(x), Sunroof(x)}

{6_cyl(x), RWD(x), Sunroof(x)}

{8_cyl(x), RWD(x), Sunroof(x)}

{FWD(x), RWD(x), Sunroof(x)}

10 elements of 2 predicates

{6_cyl(x), 8_cyl(x)}

{6_cyl(x), FWD(x)}

{6_cyl(x), RWD(x)}

{6_cyl(x), Sunroof(x)}

{8_cyl(x), FWD(x)}

{8_cyl(x), RWD(x)}

{8_cyl(x), Sunroof(x)}

{FWD(x), RWD(x)}

{FWD(x), Sunroof(x)}

{RWD(x), Sunroof(x)}

5 elements of 1 predicate (atoms)

{6_cyl(x)}

{8_cyl(x)}

{FWD(x)}

{RWD(x)}

{Sunroof(x)}

1 element of 0 predicates

{ }

Maximal Satisfiable Survey Lattice Elements

{6_cyl(x), Sunroof(x)} 10123 Eclipse 11222 Nissan

{6_cyl(x), Sunroof(x)} 10135 Porsche 911 38423 Toyota

{8_cyl(x), Sunroof(x)} 63225 Aston Martin 89725 Jaguar 42895 LexusMinimal Unsatisfiable Survey Lattice Elements

{6_cyl(x), 8_cyl(x)}

{FWD(x), RWD(x)}

{8_cyl(x), FWD(x)}

Forming Predicate Lattices

Any method capable of enumerating lattice elements can be employed,recalling that each lattice element is an element of the power set ofthe set of predicates provided by the survey niche. Such methods includeiterative and recursive functions and procedures which can construct thelattice element by element, beginning either at the bottom and workingupwards or beginning at the top and working downwards.

Numerous heuristics can be applied as well, e.g., pruning. As oneenumerates lattice elements one may also check them for satisfiability.When an element is enumerated that is satisfiable then it may be assumedthat all elements that are less than this element (less than as definedby the partial order on the lattice) will also be satisfiable and hencenon-maximal. If one is only seeking to identify the maximal satisfiableelements, for example, then this branch may be pruned and thus given nofurther consideration and require no further computation.

A Method to Enumerate Satisfiable Predicate Lattice Elements

We now introduce an exemplary method to enumerate all satisfiablelattice elements, ultimately enumerating all maximal satisfiablepredicate lattice elements. This method is applicable to any predicatelattice, not just survey lattices.

In one exemplary embodiment of the present invention the maximal andnon-maximal satisfiable elements of a predicate lattice are formed. Themethod applies to all predicate lattices, including survey lattices andquery lattices, and also enables the forming of the minimal andnon-minimal unsatisfiable elements. In the method, facts for eachpredicate's satisfiability are obtained. The facts are grouped by pointof evidence. The groups of facts are sorted by the number of predicatessatisfied. Duplicate groups as well as contained groups are rejected.

FIG. 12 is a block diagram of the operations performed to form apredicate lattice, according to an exemplary embodiment of the presentinvention. At operation 204 the “well-formedness” of the set ofpredicates is established. This means that each predicate in the set ofpredicates is individually satisfiable. When this enumeration method isconducted within the survey method described earlier, thewell-formedness may be enforced within a transformation operation. Atoperation 206, all points of evidence for the satisfiability of eachpredicate in the set of predicates are obtained. Obtaining the points ofevidence may utilize operations such as retrieval, inference, generalcomputation, communication, user interaction, interaction with thephysical world (as in a measurement or use of a sensor), or acombination of these operations. In one exemplary embodiment, theresults of this operation may be a relation of tuples. Each tuple of therelation uniquely designates a predicate and uniquely designates a pointof evidence that satisfies the predicate. We conveniently call eachtuple, or any functionally equivalent embodiment, a fact. At operation208, the facts are grouped by point of evidence. In the relationalembodiment above, the fact tuples may be grouped by a unique identifierfor point of evidence. At operation 210, the groups are ordered by thenumber of facts in the group in descending order. The groups thatcontain the same subset of the set of predicates are rejected atoperation 212. The groups that remain constitute the satisfiablepredicate lattice elements. The groups for which another group is asuperset (in terms of predicates satisfied) are rejected at operation214. The groups that remain constitute the maximal satisfiable predicatelattice elements, and are identified at operation 216.

A Relational Embodiment of a Method to Enumerate Satisfiable LatticeElements

We now illustrate the exemplary method by applying it with a relationalembodiment to generate the survey lattice shown in the previousdrawings.

Given: Sports Car information resource

Set of predicates={6_cyl(x), 8_cyl(x), FWD(x), RWD(x), Sunroof(x)}

Well-formedness: each predicate in the set of predicates is individuallysatisfiable over the Sports Car information resource.

Create fact table; Group fact table by point of evidence (in this case,by Evidence key) Satisfied Group Evidence key Predicate ID 101236_cyl(x) 1 10123 FWD(x) 1 10123 Sunroof(x) 1 20728 8_cyl(x) 2 20728RWD(x) 2 20729 8_cyl(x) 3 20729 RWD(x) 3 70291 8_cyl(x) 4 70291 RWD(x) 463225 8_cyl(x) 5 63225 RWD(x) 5 63225 Sunroof(x) 5 10135 6_cyl(x) 610135 RWD(x) 6 10135 Sunroof(x) 6 11222 6_cyl(x) 7 11222 FWD(x) 7 11222Sunroof(x) 7 38423 6_cyl(x) 8 38423 RWD(x) 8 38423 Sunroof(x) 8 897248_cyl(x) 9 89724 RWD(x) 9 89725 8_cyl(x) 10 89725 RWD(x) 10 89725Sunroof(x) 10 42895 8_cyl(x) 11 42895 RWD(x) 11 42895 Sunroof(x) 11

Order, in descending order, groups so obtained by the number of facts inthe group (i.e., the number of predicates satisfied). Count of SatisfiedGroup facts in Evidence key Predicate ID group 10123 6_cyl(x) 1 3 10123FWD(x) 1 3 10123 Sunroof(x) 1 3 63225 8_cyl(x) 5 3 63225 RWD(x) 5 363225 Sunroof(x) 5 3 10135 6_cyl(x) 6 3 10135 RWD(x) 6 3 10135Sunroof(x) 6 3 11222 6_cyl(x) 7 3 11222 FWD(x) 7 3 11222 Sunroof(x) 7 338423 6_cyl(x) 8 3 38423 RWD(x) 8 3 38423 Sunroof(x) 8 3 89725 8_cyl(x)10 3 89725 RWD(x) 10 3 89725 Sunroof(x) 10 3 42895 8_cyl(x) 11 3 42895RWD(x) 11 3 42895 Sunroof(x) 11 3 89724 8_cyl(x) 9 2 89724 RWD(x) 9 220728 8_cyl(x) 2 2 20728 RWD(x) 2 2 20729 8_cyl(x) 3 2 20729 RWD(x) 3 270291 8_cyl(x) 4 2 70291 RWD(x) 4 2

Reject groups that contain the same subset of the set of predicates.This rejection operation benefits from the ordering. The groups thatremain constitute the satisfiable lattice elements. Count of SatisfiedGroup facts in Evidence key Predicate ID group 10123 6_cyl(x) 1 3 10123FWD(x) 1 3 10123 Sunroof(x) 1 3 63225 8_cyl(x) 5 3 63225 RWD(x) 5 363225 Sunroof(x) 5 3 10135 6_cyl(x) 6 3 10135 RWD(x) 6 3 10135Sunroof(x) 6 3 89724 8_cyl(x) 9 2 89724 RWD(x) 9 2 20728 8_cyl(x) 2 220728 RWD(x) 2 2 20729 8_cyl(x) 3 2 20729 RWD(x) 3 2 70291 8_cyl(x) 4 270291 RWD(x) 4 2

Reject groups for which another group is a superset (in terms ofpredicates satisfied). This rejection also benefits from the ordering.Count of Satisfied Group facts in Primary key Predicate ID group 101236_cyl(x) 1 3 10123 FWD(x) 1 3 10123 Sunroof(x) 1 3 63225 8_cyl(x) 5 363225 RWD(x) 5 3 63225 Sunroof(x) 5 3 10135 6_cyl(x) 6 3 10135 RWD(x) 63 10135 Sunroof(x) 6 3

The groups that remain constitute the maximal satisfiable latticeelements. Maximal satisfiable lattice Satisfied element ID Predicate 16_cyl(x) 1 FWD(x) 1 Sunroof(x) 2 8_cyl(x) 2 RWD(x) 2 Sunroof(x) 36_cyl(x) 3 RWD(x) 3 Sunroof(x)

While this example has obtained points of evidence from an informationresource of retrievable entities, as the method states a point ofevidence may also be obtained from an information resource that employsrules/constraints and that requires inference. We refer to suchinformation resources as non-explicit or not strictly explicit, as factsmay need to be inferred based on other facts and rules or constraints.Expert systems and configurators fall in this category. Overall, themethod of forming a predicate lattice over a non-explicit or notstrictly explicit information resource is the same, only differing inhow facts are obtained. In some of these cases shortcuts may be takenwithout functional impact, such as a rule or constraint that can bedirectly converted into a predicate lattice element.

Note that this method does not require all operations to be performed asseparate commands in strict order, e.g., embodied with SQL severaloperations may be combined in a single command. This is left to thediscretion of the programmer and may be influenced by choice ofprogramming model and language. Furthermore, the method, relying onretrieval operations, grouping operations, sorting operations, anduniqueness enforcing operations, may be embodied as a serial or parallelalgorithm, distributed or localized.

Extending the Method to Enumerate Minimal Unsatisfiable Lattice Elements

We now continue our explication of the exemplary method in order toenumerate minimal unsatisfiable predicate lattice elements.

-   -   Obtain all points of evidence, within the niche, that        establishes an occurrence of unsatisfiability of a predicate        belonging to the set of predicates. In a relational embodiment,        this produces a relation of tuples, one tuple for each predicate        in the niche that is not satisfied by a point of evidence, a        tuple designating a point of evidence and a predicate that it        does not satisfy, designation by unique identifier. We        conveniently call such a tuple, or any functionally identical        embodiment, a negative fact.    -   Group negative facts by point of evidence. In a relational        embodiment the negative fact tuples would be grouped on the        unique identifier for point of evidence.    -   Order, in ascending order, groups so obtained by the number of        negative facts in a group.    -   Reject groups that contain the same subset of the set of        predicates.    -   Reject groups for which another group is a subset. Groups that        remain are candidate minimal unsatisfiable predicate lattice        elements.    -   Reject groups that are subsets of maximal satisfiable predicate        lattice elements.

A negative fact table tells us that, having gathered together all pointsof evidence that substantiate the satisfiability of at least onepredicate of the set of predicates, these same points of evidenceconstitute facts that other predicates are not satisfied, and thereforeprovide clues that certain predicates are not simultaneouslysatisfiable.

We are looking for such unsatisfiable combinations, but just because onepoint of evidence says that a particular combination of predicates isunsatisfiable does not mean this combination is globally unsatisfiable(e.g., is unsatisfiable within the area of the information resourcedelineated by the set of predicates or survey niche). So when a cluetells us something that we know, from other knowledge, not to beglobally true, then we may reject that clue. To effect this rejection wemay apply our global knowledge, which we possess in the form of maximalsatisfiable lattice elements.

For instance, the entity with key 20728 substantiates the satisfiabilityof two predicates, namely 8_cyl(x) and RWD(x). At the same time thisentity is evidence that 6_cyl(x), FWD(x), and Sunroof(x) are notsatisfied. But we have a maximal satisfiable lattice element, enumeratedpreviously, that tells us such a combination is satisfiable, so thisclue may be rejected.

It should be noted that this is likely that there are other points ofevidence (in this case entities) not present in the negative fact table,but that establish one or more predicates in the set of predicates asnot satisfied. However, such points of evidence do not substantiate anyof the predicates in the set of predicates (because any point ofevidence that substantiates at least one predicate in the set ofpredicates is already present in the table), and therefore may beexcluded from consideration for the present purposes.

We continue the previous example by forming the negative fact table,grouped on point of evidence, with groups sorted in descending order bycount of the negative facts in each group. Count of negative Unsatisfiedfacts in Evidence key Predicate Group ID group 10123 8_cyl(x) 1 2 10123RWD(x) 1 2 10135 8_cyl(x) 2 2 10135 FWD(x) 2 2 11222 8_cyl(x) 3 2 11222RWD(x) 3 2 38423 8_cyl(x) 4 2 38423 FWD(x) 4 2 42895 6_cyl(x) 5 2 42895FWD(x) 5 2 63225 6_cyl(x) 6 2 63225 FWD(x) 6 2 89725 6_cyl(x) 7 2 89725FWD(x) 7 2 20728 6_cyl(x) 8 3 20728 FWD(x) 8 3 20728 Sunroof(x) 8 320729 6_cyl(x) 9 3 20729 FWD(x) 9 3 20729 Sunroof(x) 9 3 70291 6_cyl(x)10 3 70291 FWD(x) 10 3 70291 Sunroof(x) 10 3 89724 6_cyl(x) 11 3 89724FWD(x) 11 3 89724 Sunroof(x) 11 3

Next we reject duplicate fact groups. Notice how this rejection processbenefits from the ordering. Count of negative Unsatisfied facts inEvidence key Predicate Group ID group 10123 8_cyl(x) 1 2 10123 RWD(x) 12 10135 8_cyl(x) 2 2 10135 FWD(x) 2 2 42895 6_cyl(x) 5 2 42895 FWD(x) 52 20728 6_cyl(x) 8 3 20728 FWD(x) 8 3 20728 Sunroof(x) 8 3

Then we reject containing groups, also benefiting from the ordering.Count of negative Unsatisfied facts in Evidence key Predicate Group IDgroup 10123 8_cyl(x) 1 2 10123 RWD(x) 1 2 10135 8_cyl(x) 2 2 10135FWD(x) 2 2 42895 6_cyl(x) 5 2 42895 FWD(x) 5 2

Reject groups contained in maximal satisfiable lattice elements. Countof negative Unsatisfied facts in Evidence key Predicate Group ID group10135 8_cyl(x) 2 2 10135 FWD(x) 2 2

The remaining groups—just one in this example—represent minimalunsatisfiable lattice elements, but there may be others not identifiedhere (though they are of a less valuable variety). This is because thenegative fact table we started with, derived from the original facttable, did not represent all negative facts (as delineated by the set ofpredicates or survey niche).

For applications where all minimal unsatisfiable lattice elements arerequired, this method may be modified by replacing the negative facttable with an exhaustive negative fact table and proceeding as above.The end result is enumeration of all minimal satisfiable latticeelements.

Enumeration of all maximal satisfiable lattice elements and minimalunsatisfiable lattice elements may use significant computationalresources, depending on the algorithms employed, the heuristics applied,the number of predicates in the set of predicates, the number ofentities in the information resource, the distribution of traits amongstthe entities in the information resource, and the presence andsophistication of indexes (see the later subsection on optimizations).

A number of methods, including the methods presented above, are amenableto high levels of parallelization and thus can exploit massivelyparallel computer and network architectures, including SMP, NUMA,clusters, grids, computing fabrics, data flow, marker and bit passing,message passing, MIMD, and SIMD.

Technologies in research at the time of this filing, such as quantumcomputing, optical computing, and biomolecular and nano computing,portend near real-time computation of NP hard problems, makingcomputation of comprehensive, fully detailed predicate lattices of eventhe largest information resources realistic.

Survey Lattice Usage

Survey lattices may be interacted with and communicated, in whole or inpart, through numerous means, including but not limited to programmaticaccess methods, interfaces of a hardware and/or software variety,communication protocols, presentation displays and forms utilizing anyor all sensory modalities, and/or manipulation methods, direct orindirect.

Wherever a survey lattice is utilized, it may be localized in a singleaddress space or distributed and/or replicated across multiple addressspaces, e.g., over a disk array, multiprocessor machine, network,cluster, grid, or fabric.

Referring to FIG. 13, survey lattices, in whole or in part, may beformed in advance of their use, stored in volatile storage ornon-volatile persistent storage, and optionally maintained (so as tokeep their elements, based as they are on satisfiability, accurate). Wecall this a stored survey lattice 218. Survey lattices and theirelements may be stored, e.g., in files, databases, and as programmaticobjects or components.

Survey lattices, in whole or in part, may also be formed on an as neededbasis rather than in advance of their use. These are called on-demandsurvey lattices 220. While they are in use, an on-demand survey lattice220 may reside in a machine readable form, for example, in processorregisters or buffers, in a cache, in main memory, or literally formed inpart as needed and then discarded. An on-demand survey lattice 220 maybe converted into a stored survey lattice 218 by aggregating its parts,if needed, and storing it.

A survey lattice may be partly formed in advance of use and that partstored in the same ways as a stored survey lattice, with all or some ofthe remaining part formed on-demand. This is called a hybrid surveylattice.

Survey lattices based on a set of predicates obtained from aninformation resource, e.g., using single-value predicates, set-valuepredicates, range-value predicates, and semantic-value predicates, willoften be stored and maintained. On the other hand, survey lattices basedon a set of predicates obtained by transforming specific user input (asin the survey methodology that begins with niche initialization) willoften be formed on-demand (formed only when the input becomesavailable). These are the simplest scenarios, involving strictly storedor strictly on-demand survey lattices. However, survey lattice elementsfrom stored, on-demand, and hybrid survey lattices may be used togetherin various and numerous combinations and to various affect.

FIG. 13 shows two classes of survey lattice utilization. In utilizationclass A at block 224, the stored survey lattices 218 and hybrid surveylattices 222 are used to reduce the computational overhead ofgenerating, processing, and traversing any type of survey lattice. Inutilization class B at block 226, the stored part 218 of a hybrid surveylattice 222 is used to accomplish the same with the on-demand part 220.

Any application or system that embodies the survey method, in any of itsthemes, will require methods and apparatus to specify and attach theinformation resource(s) to be surveyed, specify transformation means andsource(s) (e.g., conceptual structures), possibly map informationresources to each other (e.g., map the concepts of a conceptualstructure to the schema or index of an information resource), provideadministrative functions, and configuration and customization facilitiesfor the user. These are not a part of the core invention and are left upto the application implementer who is versed in the art.

Beyond the employment of survey lattices within the context of thesurvey method and its plurality of themes (as discussed elsewhere),survey lattices may be employed, in whole or in part, to present,interact with, understand, navigate, index, browse, search, integrate,manipulate, persist, communicate, summarize/abstract, proxy, and/orcompress an information resource. Below we illustrate these applicationsin a number of examples.

An Index of Survey Lattice Elements

We now take maximal satisfiable and minimal unsatisfiable elements of asurvey lattice and organize these to ease direct access, be it in aninteractive or non-interactive (e.g., printed) form. We illustrate withthe sports car information resource. We note in passing that while thefollowing examples are in terms of survey lattices the methods areequally applicable to the more general predicate lattices.

Predicates, belonging to the set of predicates on which the surveylattice is based, are organized by a strict ordering, e.g.,alphanumerically. For each predicate, all of the maximal satisfiable andminimal unsatisfiable survey lattice elements that include saidpredicate are then listed, with predicates within each lattice elementordered by the strict order and the lattice elements themselves orderedby the strict order.

Note that, within each predicate, survey lattice elements are segregatedand signified by whether they are maximal satisfiable or minimalunsatisfiable.

EXAMPLE 1 Index of Survey Lattice Elements by Predicate Satisfied

6_cyl(x)

{6_cyl(x), FWD(x), Sunroof(x)} Max

{6_cyl(x), RWD(x), Sunroof(x)} Max

{6_cyl(x), 8_cyl(x)} Min

8_cyl(x)

{8_cyl(x), RWD(x), Sunroof(x)} Max

{6_cyl(x), 8_cyl(x)} Min

{8_cyl(x), FWD(x)} Min

FWD(x)

{6_cyl(x), FWD(x), Sunroof(x)} Max

{8_cyl(x), FWD(x)} Min

{FWD(x), RWD(x)} Min

RWD(x)

{6_cyl(x), RWD(x), Sunroof(x)} Max

{8_cyl(x), RWD(x), Sunroof(x)} Max

{FWD(x), RWD(x)} Min

Sunroof(x)

{6_cyl(x), FWD(x), Sunroof(x)} Max

{6_cyl(x), RWD(x), Sunroof(x)} Max

{8_cyl(x), RWD(x), Sunroof(x)} Max

We may take this index and include references to the entities belongingto each maximal satisfiable survey lattice element.

EXAMPLE 2 Index of Survey Lattice Elements and their Entities byPredicate Satisfied

6_cyl(x)

Maximal Satisfiable

{6_cyl(x), FWD(x), Sunroof(x)} 10123 Eclipse 11222 Nissan

{6_cyl(x), RWD(x), Sunroof(x)} 10135 Porsche 911 38423 Toyota

Minimal Unsatisfiable

-   -   {6_cyl(x), 8_cyl(x)}        8_cyl(x)

Maximal Satisfiable

{8_cyl(x), RWD(x), Sunroof(x)} 63225 Aston Martin 89725 Jaguar 42895Lexus

Minimal Unsatisfiable

-   -   {6_cyl(x), 8_cyl(x)}    -   {8_cyl(x), FWD(x)}        FWD(x)

Maximal Satisfiable

{6_cyl(x), FWD(x), Sunroof(x)} 10123 Eclipse 11222 Nissan

Minimal Unsatisfiable

-   -   {8_cyl(x), FWD(x)}    -   {FWD(x), RWD(x)}        RWD(x)

Maximal Satisfiable

{6_cyl(x), RWD(x), Sunroof(x)} 10135 Porsche 911 38423 Toyota

{8_cyl(x), RWD(x), Sunroof(x)} 63225 Aston Martin 89725 Jaguar 42895Lexus

Minimal Unsatisfiable

-   -   {FWD(x), RWD(x)}        Sunroof(x)

Maximal Satisfiable

{6_cyl(x), FWD(x), Sunroof(x)} 10123 Eclipse 11222 Nissan

{6_cyl(x), RWD(x), Sunroof(x)} 10135 Porsche 911 38423 Toyota

{8_cyl(x), RWD(x), Sunroof(x)} 63225 Aston Martin 89725 Jaguar 42895Lexus

EXAMPLE 3 Augmenting a Conventional Index

Furthermore, we may use this index to augment a conventional invertedindex of an information resource. First we present a conventional indexof the Sports Car information resource, indexed by satisfied predicate.These same augmentation methods may be applied using predicate latticesand their elements Conventional index 6_cyl(x) 10123 Eclipse 10135Porsche 911 11222 Nissan 38423 Toyota 8_cyl(x) 20728 Corvette 20729Corvette 70291 Firebird 63225 Aston Martin 89724 Jaguar 89725 Jaguar42895 Lexus FWD(x) 10123 Eclipse 11222 Nissan RWD(x) 20728 Corvette20729 Corvette 70291 Firebird 63225 Aston Martin 10135 Porsche 911 38423Toyota 89724 Jaguar 89725 Jaguar 42895 Lexus Sunroof(x) 10123 Eclipse63225 Aston Martin 10135 Porsche 911 11222 Nissan 38423 Toyota 89725Jaguar 42895 Lexus

Next, we present the index augmented with survey lattice elements.Augmented Conventional Index 6_cyl(x)  10123 Eclipse  10135 Porsche 911 11222 Nissan  38423 Toyota Maximal Satisfiable    {6_cyl(x), FWD(x),Sunroof(x)}      10123 Eclipse      11222 Nissan    {6_cyl(x), RWD(x),Sunroof(x)}      10135 Porsche 911      38423 Toyota MinimalUnsatisfiable    {6_cyl(x), 8_cyl(x)} 8_cyl(x)  20728 Corvette  20729Corvette  70291 Firebird  63225 Aston Martin  89724 Jaguar  89725 Jaguar 42895 Lexus Maximal Satisfiable    {8_cyl(x), RWD(x), Sunroof(x)}     63225 Aston Martin      89725 Jaguar      42895 Lexus MinimalUnsatisfiable    {6_cyl(x), 8_cyl(x)}    {8_cyl(x), FWD(x)} FWD(x) 10123 Eclipse  11222 Nissan Maximal Satisfiable    {6_cyl(x), FWD(x),Sunroof(x)}      10123 Eclipse      11222 Nissan Minimal Unsatisfiable   {8_cyl(x), FWD(x)}    {FWD(x), RWD(x)} RWD(x)  20728 Corvette  20729Corvette  70291 Firebird  63225 Aston Martin  10135 Porsche 911  38423Toyota  89724 Jaguar  89725 Jaguar  42895 Lexus Maximal Satisfiable   {6_cyl(x), RWD(x), Sunroof(x)}      10135 Porsche 911      38423Toyota    {8_cyl(x), RWD(x), Sunroof(x)}      63225 Aston Martin     89725 Jaguar      42895 Lexus Minimal Unsatisfiable {FWD(x),RWD(x)} Sunroof(x)  10123 Eclipse  63225 Aston Martin  10135 Porsche 911 11222 Nissan  38423 Toyota  89725 Jaguar  42895 Lexus MaximalSatisfiable    {6_cyl(x), FWD(x), Sunroof(x)}      10123 Eclipse     11222 Nissan    {6_cyl(x), RWD(x), Sunroof(x)}      10135 Porsche911      38423 Toyota    {8_cyl(x), RWD(x), Sunroof(x)}      63225 AstonMartin      89725 Jaguar      42895 Lexus

EXAMPLE 4 Augmenting Conceptual Structures and Category Systems

Another application is to associate survey lattice elements to aconventional conceptual structure or category system, such as anontology, taxonomy, semantic network, topic map, or conceptual graph,noting that this method may also associate predicate lattice elements toa conceptual structure of category system.

Conceptual Structure Augmented with Maximal Satisfiable Survey LatticeElements

FIG. 14 represents a conventional conceptual structure of nodes 228,relationships 230 and 231, and instance data 232. Referring to FIG. 15,the same conceptual structure is augmented with maximal satisfiablesurvey lattice elements 234 added as nodes. Conceptual structures thatadmit to and support exceptions (e.g., non-monotonic logic anddefeasible reasoning systems) may also be augmented with minimalunsatisfiable survey lattice elements as nodes and exception links usedto represent that a minimal unsatisfiable survey lattice element doesnot inherit from certain other nodes.

In these exemplary applications, the augmented conceptual structure maybe reorganized around the survey lattice elements to enhancepresentation, navigation, and general utilization of the conceptualstructure. For example, referring to FIG. 16, one may “pick up” anaugmented conceptual structure by its survey lattice elements 234 anduse these as access paths to concepts 228 and their correspondinginstances.

Optimizations in Using Survey Lattices

The exemplary method of generating survey lattice elements presentedearlier utilizes facts, where a point of evidence substantiates thesatisfiability of a predicate or its functional equivalent. Performancein generating survey lattice elements may be improved by forming andmaintaining specific machine-readable data structures that capture factsand applying these in the generation of survey lattice elements. We callsuch a structure a fact structure. A scenario where this is particularlyvaluable is where a survey niche is formed around user input, such as acommand or request, and the survey may be generated for that niche. Wenow provide several examples that illustrate this concept. Again, thesesame methods may be applied in generating predicate lattices and theirelements, not just in generating survey lattices and survey latticeelements.

Our first two examples use the sports car information resource. In thefirst example, we assemble a fact table (a tabular fact structure), sortit on satisfied predicate, and employ it as an index structure withwhich to find all points of evidence that satisfy a given predicate.This same information may be stored in other forms and utilized to thesame ends, for example, as a B-tree index or a hash table.

Given a fact table as a starting point, the method of generating surveylattice elements may proceed to the grouping operation in order toidentify satisfiable survey lattice elements, and the remainder of themethod to identify maximal satisfiable survey lattice elements. Notethat an inverted index, such as in example 3 of the section “An index ofsurvey lattice elements”, may serve as a fact table.

EXAMPLE 1 Fact Table as Index

Satisfied Predicate Evidence key 6_cyl(x) 10123 10135 11222 384238_cyl(x) 20728 20729 70291 63225 89724 89725 42895 FWD(x) 10123 11222RWD(x) 20728 20729 70291 63225 10135 38423 89724 89725 42895 Sunroof(x)10123 63225 10135 11222 38423 89725 42895

EXAMPLE 2 Maximal Satisfiable Fact Table as Index

In the second example, the maximal satisfiable survey lattice elementshave been formed and are used to form a condensed fact table, wheremaximal satisfiable survey lattice elements are used as points ofevidence for the satisfiability of a predicate or its equivalent. It isused just as it is in the first example as regards the method ofgenerating survey lattice elements. As in the first example, this sameinformation may be stored in forms other than a table.

This structure may optionally be supplemented with a third column thatprovides the evidence keys for each maximal satisfiable survey latticeelement. The supplemented table will have additional rows as well—onerow for each evidence key belonging to a maximal satisfiable surveylattice element that includes a satisfied predicate. Maximal satisfiableSatisfied survey lattice Predicate element ID 6_cyl(x) 1 3 8_cyl(x) 2FWD(x) 1 RWD(x) 2 3 Sunroof(x) 1 2 3

In both of these examples, computation and storage have been applied inadvance of need in order to reduce computation during interactivesurveying, effectively shifting load. Note that the maximal satisfiablefact table as index is less than one third the size of the fact table asindex presented in the first example, significantly reducing storageused for the fact structure and reducing computation when the table isutilized.

The amount of computation and storage that is shifted can be adjusted bythe choice of predicates upon which the facts are based. Range value,set value, and abstract (semantic) predicates can stand in forpotentially many single value predicates. The use of such predicates ina fact table means that less storage and computation is utilized inadvance, deferring more computation—but not all—till later. We nowprovide a basic example of this.

EXAMPLE 3 Indexing Range, Set, and Abstract Predicates for SurveyLattices

For this example we shift to a different data set, as seen below,capturing automobile performance data on fuel economy and acceleration.Entity_key EPA_City 0-60 MPH 30925 25 MPG 8.4 sec 44942 20 9.5 44973 4012.7 55525 18 6.9 64312 14 4.2 78794 32 10.7 87463 18 7.2 92726 17 7.492727 16 6.3

While it is possible to create single value predicates to represent thisdata, for this example we instead form the following set of range valuepredicates and abbreviate them as indicated.

-   10 mpg<EPA_City(x)<=15 mpg, abbreviated as 10-15 MPG(x)-   15 mpg<EPA_City(x)<=20 mpg, abbreviated as 15-20 MPG(x)-   20 mpg<EPA_City(x)<=25 mpg, abbreviated as 20-25 MPG(x)-   25 mpg<EPA_City(x)<=30 mpg, abbreviated as 25-30 MPG(x)-   30 mpg<EPA_City(x)<=40 mpg, abbreviated as 30-40 MPG(x)-   3 sec<0-60 MPH(x)<=5, abbreviated as 3-5 to 60(x)-   5 sec<0-60 MPH(x)<=7, abbreviated as 5-7 to 60(x)-   7 sec<0-60 MPH(x)<=10, abbreviated as 7-10 to 60(x)-   10 sec<0-60 MPH(x)<=15, abbreviated as 10-15 to 60(x)

Next, we derive the fact table for these entities and their performancedata based on this set of range predicates. Satisfied PredicateEntity_key 10-15 MPG(x) 64312 15-20 MPG(x) 44942 55525 87463 92726 9272720-25 MPG(x) 30925 25-30 MPG(x) 30-40 MPG(x) 44973 78794  3-5to60(x)64312  5-7to60(x) 55525 92727  7-10to60(x) 30925 44942 87463 9272610-15to60(x) 44973 78794

In passing we note that we equally well could have used set valuepredicates, e.g., “EPA_City(x) in (16 MPG, 17 MPG, 18 MPG)” and/orabstract predicates, e.g., Miser(x), Gas_hog(x), and Speed_demon(x).

Proceeding by the method described earlier, from the fact table one mayderive the satisfiable survey lattice elements and the maximalsatisfiable survey lattice elements, as can be seen below. Maximalsatisfiable survey lattice element ID Satisfied Predicate 1 20-25 MPG(x)1  7-10to60(x) 2 15-20 MPG(x) 2  7-10to60(x) 3 30-40 MPG(x) 310-15to60(x) 4 15-20 MPG(x) 4  5-7to60(x) 5 10-15 MPG(x) 5  3-5to60(x)

It is also possible to join maximal satisfiable survey lattice elementsto reduce their number. For instance, the maximal element {20-25 MPG(x),7-10 to 60(x)} may be joined with the maximal element {15-20 MPG(x),7-10 to 60(x)} to produce the more general maximal element {15-25MPG(x), 7-10 to 60(x)}, but doing so also reduces the specificity.

One may equally use a range, set, and/or abstract predicate based facttable to determine the satisfiability of one or more survey latticeelements by finding facts that support them.

The discussion now turns to what happens when one needs to determine thesatisfiability of a survey lattice element that is not based on exactlythe same set of predicates that the fact table is based on (e.g., is thesurvey lattice element {17<EPA_City(x), 0-60 MPH<7 sec} satisfiable?).

The full data set need not be consulted in such an instance. Instead,one may selectively choose and combine entries in the fact table toreduce the overall effort. In this instance the entries for 15-20MPG(x), 20-25 MPG(x), 30-40 MPG(x), 3-5 to 60(x), and 5-7 to 60(x) maybe employed to create a “short list” of potential points of evidence.These are only potential points of evidence as the ranges so constructedinclude values not in the given survey lattice element, e.g., MPGbetween 15 and 17 and 0-60 of exactly 7 sec. The entities possessingsuch values, such as the entity with key 92727, may be removed fromconsideration. The source data for only the entities in this short listis then interrogated to reduce the potential points of evidence to theactual points, if any. This identifies the entity with key 55525 as apoint of evidence that the given survey lattice element is indeedsatisfiable.

With the survey method, it is also possible to employ transformation ofthe survey niche (see the section on transformation) to take a set ofpredicates for which a fact structure is not available and transform theset, in whole or in part, into a set for which a fact structure isavailable, thus enabling the fact table's employment to reduce overallcomputation.

EXAMPLE 4 Employing Bitmap Indexes with Survey Lattices

Bitmap indexes, supported by the major relational database and datawarehousing products, are another means of tuning thestorage/computation trade-off. A bitmap index on an attribute delineatesall distinct values the attribute takes on and records the distinctvalue for each entity so attributed. Below we illustrate a bitmap indexon the “Drive layout” attribute of the sports car information resource.Bitmap index on Drive_layout of the sports car information resourceDrive 10123 20728 20729 70291 63225 10135 11222 38423 89724 89725 42895FWD 1 0 0 0 0 0 1 0 0 0 0 RWD 0 1 1 1 1 1 0 1 1 1 1

A bitmap index is typically used to speed retrieval of data entitiesbased on a query condition. Were one to employ a SQL query with thephrase “and Drive_layout=‘FWD’” as part of its WHERE clause then thebitmap index can improve selectivity by retrieving only those rows thathave a “1” in the row for the FWD value of the Drive_layout attribute.

One can create such a bitmap index on each predicate in the set ofpredicates upon which a survey lattice is based. We now create a bitmapindex on each predicate in the sports car information resource. Forconvenience and simplicity of illustration, we bring together theseseparate bitmap indexes into one table below. Consolidated bitmap indexon all attributes of the sports car information resource Attribute Value10123 20728 20729 70291 63225 10135 11222 38423 89724 89725 42895 #_cyl.6 1 0 0 0 0 1 1 1 0 0 0 #_cyl. 8 0 1 1 1 1 0 0 0 1 1 1 Drive FWD 1 0 0 00 0 1 0 0 0 0 Drive RWD 0 1 1 1 1 1 0 1 1 1 1 Sunroof Y 1 0 0 0 1 1 1 10 1 1 Sunroof N 0 1 1 1 0 0 0 0 1 0 0

Multiple bitmap indexes may be employed together, so long as they indexthe same set of data entities (the same tuples, in the case of arelation). When multiple bitmap indexes are employed in the sameretrieval operation the appropriate rows of the index may be logicallycombined. For instance, execution of a SQL statement with a WHERE clauseincluding the phrase “and Drive_layout=‘FWD’ and #_cyl=6” can logicallyAND the bitmap index row for the FWD value of Drive_layout with thebitmap index row for 6 value of the #_cyl., the resulting row having abit value of 1 only for those tuples satisfying both conditions, e.g.,the tuple with key=123.

This approach may be used to determine the satisfiability of any surveylattice element, but we can do better with a simple reorganization. Wenote that one may treat such a consolidated bitmap as a matrix andperform a transposition operation on it, interchanging columns withrows, as is seen below. From an information-theoretic point of view theresulting transpose is equivalent to the un-transposed form,representing the same facts. Transposed consolidated bitmap index onsports car information resource Attribute #_cyl. #_cyl. Drive DriveSunroof Sunroof Value 6 8 FWD RWD Y N 10123 1 0 1 0 1 0 20728 0 1 0 1 01 20729 0 1 0 1 0 1 70291 0 1 0 1 0 1 63225 0 1 0 1 1 0 10135 1 0 0 1 10 11222 1 0 1 0 1 0 38423 1 0 0 1 1 0 89724 0 1 0 1 0 1 89725 0 1 0 1 10 42895 0 1 0 1 1 0

The transpose consolidated bitmap index can be used to enumerate themaximal satisfiable survey lattice elements. We first project theright-most column away, create a virtual column as the numerical sum(not logical sum) of the bit values, and sort the entity rows indescending order by bit sum. Attribute #_cyl. #_cyl. Drive Drive SunroofBit sum Value 6 8 FWD RWD Y na 10123 1 0 1 0 1 3 63225 0 1 0 1 1 3 101351 0 0 1 1 3 11222 1 0 1 0 1 3 38423 1 0 0 1 1 3 89725 0 1 0 1 1 3 428950 1 0 1 1 3 20728 0 1 0 1 0 2 20729 0 1 0 1 0 2 70291 0 1 0 1 0 2 897240 1 0 1 0 2

Next, we project away entity keys and enforce tuple uniqueness (e.g.,relational first normal form). #_cyl. #_cyl. Drive Drive Sunroof Bit sum6 8 FWD RWD Y na 1 0 1 0 1 3 0 1 0 1 1 3 1 0 0 1 1 3 0 1 0 1 0 2

We then select away all tuples that we call contained tuples. Acontained tuple has a bit sum strictly less than the bit sum of anothertuple, called a containing tuple, and the logical AND of the containedtuple with the bit array of the containing tuple equals the bit array ofthe contained tuple. For instance, the bit array (0 1 0 1 0) is acontained tuple as it has a bit sum of 2 while the bit array (0 1 0 1 1)has a bit sum of 3, and the logical AND of the two bit maps is (0 1 0 10), the same as the contained tuple. #_cyl. #_cyl. Drive Drive SunroofBit sum 6 8 FWD RWD Y na 1 0 1 0 1 3 0 1 0 1 1 3 1 0 0 1 1 3

This reduced transposed consolidated bitmap index identifies all 3maximal satisfiable lattice elements. Furthermore, we can identify theseby unique identifier (which we assign so as to match the IDs assignedearlier to the maximal satisfiable elements). Element ID #_cyl. #_cyl.Drive Drive Sunroof na 6 8 FWD RWD Y 1 1 0 1 0 1 3 0 1 0 1 1 2 1 0 0 1 1

By matching these bit arrays against the unreduced consolidated bitmapindex entries, we may identify the entity keys for each maximalsatisfiable survey lattice element. Thus, bitmap index technology can beemployed to determine satisfiability of arbitrary survey latticeelements, but may also be employed to determine the maximal satisfiablesurvey lattice elements. Once again, these methods are equallyapplicable to predicate lattices and their elements.

EXAMPLE 5 Bitmap Index of Maximal Satisfiable Survey Lattice Elements

If we do a second matrix transpose on this array, we get what looks tobe a conventional bitmap index, but it is in fact something novel—abitmap index of the maximal satisfiable survey lattice elements(compared with a conventional bitmap index that indexes entities). Thisindex can be used to rapidly identify the maximal survey latticeelements within a survey niche. Bitmap index of maximal satisfiablesurvey lattice elements Element ID na 1 3 2 #_cyl. 6 1 0 1 #_cyl. 8 0 10 Drive FWD 1 0 0 Drive RWD 0 1 1 Sunroof Y 1 1 1

Note that this bitmap index of maximal satisfiable survey latticeelements can be formed from a standard bitmap index, as we have justexemplified, but it may also be constructed directly from a previousenumeration of the maximal satisfiable survey lattice elements byreorganization.

While our bitmap examples have employed single value predicates, themethods may utilize predicates of any and all types, including range,set, and abstract (semantic).

Also note that a similar structure may be formed to index the minimalunsatisfiable survey lattice elements, though in that case a bit valueof 1 indicates that a minimal unsatisfiable survey lattice element doesnot attain the value of the attribute (or satisfy the predicate).

Furthermore, although in the last two examples we began with aconsolidated bitmap index, one could equally well have begun with datarepresented in standard relations and/or views (relational, object, oraspect), derived the data structures from these that resulted in ourexample from transposing the consolidated bitmap index, and thenproceeding as we have illustrated. Similarly, one need not strictlyfollow the procedure above as numerous sequences of similar operationsperform the same novel function.

EXAMPLE 6 Employing a Bitmap Index with a Topological Theme SurveyMethod

Let us say a user initializes a survey niche by providing a set ofpredicates (A(x), B(x), C(x), D(x)), and the survey method performstransformation on this set, resulting in the set of predicates (A(x),B(x), D(x), G(x)). Furthermore, for the purposes of this example, abitmap index of maximal satisfiable survey lattice elements isavailable, based on a set of predicates formed from all distinct valuesof all attributes on the information resource. The user supplied set ofpredicates, as well as the transformed set, are both proper subsets ofthis much larger set of predicates.

One can consult the bitmap index of all maximal satisfiable surveylattice elements, a consultation that is simplified if it is expressedin a certain way. For example, consider the table below depicting just asmall portion of a such a bitmap index, with maximal satisfiable surveylattice elements as tuples and predicates as columns (this is atransposed bitmap index of maximal satisfiable survey lattice elements).For the purposes of this discussion, we will assume that the portion ofthe index that is visible below reveals all maximal satisfiable surveylattice elements for which any of the predicates A(x), B(x), D(x), orG(x)=1. Element ID A(x) B(x) C(x) D(x) E(x) F(x) G(x) . . . 1 1 0 0 0 10 1 2 0 1 1 0 1 1 1 3 1 0 1 0 0 1 1 4 1 0 1 1 1 1 0 5 0 0 1 1 0 1 0 . ..

The goal of using this index is to find the maximal satisfiable surveylattice elements for the transformed set of predicates with less workthan doing so from scratch. To use this as an index for this purpose wecan treat the transposed bitmap index as not just a set, but also as arelation.

We start by projecting the relation on columns A, B, D, and G, selectingonly those tuples for which the numerical sum A+B+D+G<>0, and sorting indescending order based on the sum A+B+D+G, with the result below. Forthe purposes of this example we will show a calculated column thatpresents the sum. Element ID A(x) B(x) D(x) G(x) Sum 1 1 0 0 1 2 2 0 1 01 2 3 1 0 0 1 2 4 1 0 0 0 1 5 0 0 1 0 1

We may also consolidate, as Element 1 is identical to Element 3(following the projection). To do this we project on A, B, D, and Gonly, omitting the unique identifier. Since the result of the projectionmay be a relation, and relations admit no duplicate tuples, we obtainthe result below. A(x) B(x) D(x) G(x) Sum 1 0 0 1 2 0 1 0 1 2 1 0 0 0 10 0 1 0 1

We may now remove dominated tuples. In this example, the third tuple isdominated by the first tuple because the first tuple states thatpredicate A(x) can be satisfied, as does the third tuple, but providesadditional information (that predicate G(x) can be satisfied as well,together with A(x)).

We can achieve the removal by selecting only those tuples for which,embodied in SQL, a correlated subquery returns no tuples whose sumexceeds the sum of the outer query tuple's sum and logically ANDingtogether the inner query tuple with the outer query tuple (on a columnby column basis) produces the inner query tuple.

Let's consider this tuple by tuple.

-   -   The outer query first looks at tuple 1. The inner query finds no        tuples whose sum exceeds the sum of tuple 1. So tuple 1 is        returned.    -   The outer query next looks at tuple 2. Once again, the inner        query finds no tuples whose sum exceeds the sum of tuple 2. So        tuple 2 is returned.    -   The outer query now looks at tuple 3. The inner query finds two        tuples whose sum exceeds the sum of tuple 3, namely tuple 1 and        tuple 2. ANDing together tuple 3 with tuple 1 on a column by        column basis produces tuple 1, meaning that tuple 3 is dominated        by tuple 1. As the inner query has already found a qualifying        tuple it is not necessary for it to look any further        (specifically, to determine if tuple 2 dominates tuple 3). So        the outer query does not return tuple 3.    -   The outer query now looks at tuple 4. The inner query finds two        tuples whose sum exceeds the sum of tuple 4, namely tuple 1 and        tuple 2. ANDing together tuple 4 with tuple 1 produces something        new—it does not reproduce tuple 1, so tuple 1 does not dominate        tuple 4. The inner query next ANDs together tuple 4 with tuple        2. This does not reproduce tuple 2, so tuple 2 does not dominate        tuple 4. The inner query returns no tuples to the outer query so        tuple 4 is returned by the outer query.

The resulting relation is seen below. A(x) B(x) D(x) G(x) 1 0 0 1 0 1 01 0 0 1 0

This table represents all maximal satisfiable survey lattice elementsfor the transformed set of predicates, derived from the bitmap index ofall maximal satisfiable survey lattice elements. It was not necessary toperform any retrieval operations against the information resourcedirectly, only against the bitmap index of maximal satisfiable surveylattice elements.

Transformation of a Set of Predicates for Surveys and Survey Lattices

A set of predicates or their functional equivalents is useful forforming survey partitions, including survey lattices and their elements.Recall that, within the survey methods presented earlier, a set ofpredicates represents the survey niche and a transformation operationtransforms the set of predicates and may also transform survey monitors.We now examine various means and apparatus for conducting thetransformation as well as important properties of said conduction, allof which may be employed singularly or in any of numerous combinations,said examination is indicative but not exhaustive.

Transformation may be embodied as multiple transformations, appliedcumulatively, as a composite transformation, or sequentially.

Transformation may add predicates to the set of predicates, removepredicates from the set, modify predicates in the set, or any or all ofthese in combination. When a predicate is transformed the original mayremain in the set and be supplemented by the transformed predicate, orthe original may be replaced.

Transformation may be wholly deterministic, wholly non-deterministic, orpartly deterministic and partly non-deterministic.

Transformation may take a single value into a range of values, into aset of values, or into another single value.

Transformation may take a range into another range (contained,containing, overlapping, or disjoint), into a set of values, or into asingle value.

Transformation may take a set of values into a single value, a range, oranother set of values.

Transformation may negate a predicate.

Transformation may take a data type into another data type, as in aninteger to a floating point.

Transformation may bind a number of predicates into a compound predicateor resolve a compound predicate into single predicates or simplercompound predicates.

Transformation may apply semantic operators based on one or moreconceptual structures, including but not limited to lexicons, thesauri,taxonomies, ontologies, conceptual graphs, topic maps, rule systems,schemas and metadata, semantic networks, frame systems, and high levelmodels.

Transformation may be applied to survey monitors. Transformation maytake a survey monitor into a predicate, or transform a predicate into asurvey monitor.

Transformation by Generalization/Specialization

In one exemplary embodiment of the present invention, a class ofsemantic transformations is applying m levels of generalization and/or nlevels of specialization, singularly or in numerous combinations.Referring to FIG. 17, block 236 is a predicate, block 238 is acombination of the predicate and a generalized predicate, block 240 isthe generalized predicate, block 242 is the predicate and a specializedpredicate, block 244 is the specialized predicate, block 246 is apredicate and a specialization of the generalized predicate, block 248is the specialization of the generalized predicate, block 250 is apredicate and a generalization of the specialized predicate, and block252 is the generalization of the specialized predicate.

FIG. 18 is an illustration of an exemplary taxonomy. Thus, node 254“Automatic transmission” can be specialized as a “2_speed_automatic”, a“3_speed_automatic”, a “4_speed_automatic”, and a “5_speed_automatic”.Node 256 “Multi-forward-speed_transmission” can be specialized as a“2_speed_transmission”, a “3_speed_transmission”, a“4_speed_transmission”, a “5_speed_transmission”, and a“6_speed_transmission”, as well as a “2_speed_automatic”, a“3_speed_automatic”, a “4_speed_automatic”, a “5_speed_automatic”, a“4_speed_manual”, a “5_speed_manual”, and a “6_speed_manual”. Node 258“Manual_transmission” can be specialized as a“Manual_Overdrive_transmission”, a “4_speed_manual”, a “5_speed_manual”,a “6_speed_manual”, and a “6_speed manual_Overdrive”. Node 260“Overdrive_transmission” can be specialized as a“Manual_Overdrive_transmission”, and a “6_speed_manual_Overdrive”. Theexamples below are based upon the exemplary taxonomy illustrated in FIG.18.

EXAMPLES

1. Generalize(n) Predicates—Generalizes n Levels

-   -   Generalize(1) [6_speed_manual_Overdrive(x)]={6_speed_manual(x),    -   Manual_Overdrive_transmission(x)}    -   Generalize(2)        [6_speed_manual_Overdrive(x)]={6_speed_transmission(x),    -   manual_transmission(x), Overdrive_transmission(x)}

2. Specialize(n) Predicates—Specializes n Levels

-   -   Specialize(1) [manual_transmission(x)]={6_speed_manual(x),    -   5_speed_manual(x), 4_speed_manual(x),        Manual_overdrive_transmission(x)}

3. Specialize(n) Generalize(m) Predicates—Generalizes First, ThenSpecializes the Generalization

-   -   Specialize(1) generalize(1)        [6_speed_manual(x)]={6_speed_manual(x),    -   5_speed_manual(x), 4_speed_manual(x),        Manual_overdrive_transmission(x)}

4. Generalize(m) Specialize(n) Predicates—Specializes First, ThenGeneralizes the Specializations

-   -   Generalize(2) specialize(1)        [6_speed_manual(x)]={6_speed_transmission(x),    -   manual_transmission(x), Overdrive_transmission(x)}

We note in passing that deterministic and non-deterministictransformation may be used together to produce a transformation that ispartly deterministic and partly non-deterministic. The generalization ofexample 1 above takes a single predicate, 6_speed_manual_Overdrive(x),and transforms it into 2 predicates, 6_speed_manual(x) andManual_Overdrive_transmission(x). A non-deterministic transformationoperator combined with this generalization transformation operator couldrandomly choose one of these, say Manual_Overdrive_transmission(x).Alternatively, a non-deterministic transformation operator may randomlyselect a specialization transformation operator rather than ageneralization transformation, or may randomly select the number oflevels to generalize and or specialize (selected from some specifiedrange).

Transformation of Merelogical Predicates

Transformation of merelogical predicates, often but not exclusivelyconducted by semantic operators, may take an assembly or aggregate intoits subcomponents or subcomponent assemblies, or take a component orcomponent assembly into an aggregate or assembly that contains it.Merelogical transformation may also transform the part-wholerelationship by constraining or de-constraining it or qualifying orun-qualifying it.

EXAMPLES

1. The predicate part_of_shortblock(x) may be transformed intopart_of_engine(x).

2. The predicate piston_assembly(x) may be transformed intopiston_ring_set(x).

3. The predicate part_of_the_state(x) may be transformed intoWestern_part_of_the_state(x) or Largest_part_of_the_state(x).

Transformation of Relationships

Transformation of predicates that represent a general relationship maytransform the relationship, the participant(s) in the relationship,and/or constrain or de-constrain or qualify or de-qualify therelationship. Relationships subject to transformation include but arenot limited to spatial, geo-spatial, temporal, historical, geometrical,topological, algebraic, statistical, classical logical, non-classicallogical, lexical, semantic, syntactic, philosophical, computational,psychological, biological, chemical, optical, astronomical, physical,electrical, sequential, parallel, and network.

EXAMPLES

1. The predicate less_than(x, y) may be transformed intogreater_than_or_equal_to(x, y).

2. The predicate above(x) may be transformed into highest_above(x).

3. The predicate connected_to(x, y) may be transformed torigidly_connected_to(x, y), fastened_to(x, y), not_connected_to(x, y),adjacent_to(x, y), bi-directionally_connected(x, y), and connected_to(y,x).

Transformation of Actions

Transformation of predicates that represent actions may transform theaction, the participants in the action, and/or constrain or de-constrainor qualify or de-qualify the action.

EXAMPLE

The predicate torque_to_(—)50_foot_pounds(x, y) may be transformed toMIG_Weld(x, y), or torque_to_(—)60_foot_pounds(x, y), orincrementally_torque_to_(—)50_foot_pounds(x, y), or torque_to_(—)50_footpounds(x, z).

Transformation to Meet a Goal

A method to transform a set of predicates such that the generated surveylattice possesses specified properties and conforms to specifiedcriteria, comprising:

-   -   Transformation of a set of predicates such that the transformed        set of predicates is not itself satisfiable.    -   Transformation of a set of predicates such that the number of        minimal unsatisfiable survey lattice elements of the transformed        survey lattice are bounded by an upper and/or a lower bound.    -   Transformation of a set of predicates such that the number of        maximal satisfiable survey lattice elements of the transformed        survey lattice are bounded by an upper and/or a lower bound.    -   Transformation of a set of predicates to partly or fully match a        set of predicates for which survey lattice elements are already        formed.    -   Transformation of a set of predicates to accomplish specific or        general contraction, expansion, or shifting of the set of        predicates.    -   Transformation of a set of predicates to achieve differentiation        of partitions and entities.        Sources and Apparatus for Transformation

Sources and apparatus for conducting transformation may include but arenot limited to any or all of the following, taken individually or in anyand all combinations, singularly and in plural:

The interaction, input, selections, commands, peer-to-peer information,or profiles of user(s).

-   -   1. Application of algorithmic, heuristic, connectionistic,        random, stochastic, statistical, chaotic, non-deterministic,        analog, and/or mathematical processes.    -   2. Application of knowledge discovery, data mining, evolutionary        computation, and/or artificial neural network processing.    -   3. Application of physical processes, including electrical,        mechanical, kinematic, quantum mechanical, optical, chemical,        biochemical, biological, thermal, astronomical, and nuclear.    -   4. Application of a database, data warehouse, data mart, content        repository, an unstructured data repository, an index,        structured or unstructured file, a link base, a rules base, a        knowledge base, or a case base.    -   5. Application of a semantic network, conceptual graph, topic        map, schema and/or metadata, formal model, ontology, taxonomy,        thesaurus, directory, or an artificial or natural neural network    -   6. Application of a symbolic inferencing process and/or output,        including but not limited to deductive reasoning, inductive        reasoning, abductive reasoning, and analogical reasoning.    -   7. Application of lexical analysis, including but not limited to        latent semantic indexing.    -   8. Application of non-classical logic reasoning, case-based        and/or memory-based reasoning.    -   9. Application of recommender knowledge or peer-to-peer        information.    -   10. Application of topological and/or geometric information        and/or processing.    -   11. Application of spatial information and/or processing,        including but not limited to location, boundary, region, volume,        path, subspace, or a plurality of locations, boundaries,        regions, volumes, or paths.    -   12. Application of historical/temporal information and/or        processing including but not limited to a temporal point,        coordinate, or duration or a plurality and/or sequence of        temporal points, coordinates, or durations        A System and Apparatus for Knowledge and Information Surveying

Referring to FIG. 19, reference numeral 300 generally indicates a systemfor surveying an information resource incorporating the principles ofthe invention, according to an exemplary embodiment of the presentinvention. System 300 may conveniently be referred to as a surveyor 300.The below described elements may be implemented as software modules andhave been so identified merely to illustrate the functionality of anexemplary embodiment of the present invention.

System 300 may include a session manager 302 responsible for managingsurvey sessions and obtaining services from other managers; aninformation resource manager 304 responsible for connecting the surveyorwith information resources; a survey manager 306 to maintain surveyconfiguration information and manage the multiple generations of surveyconfiguration; a predicate manager 308 to manage terms, concepts, andpredicates; a survey niche manager 310 to maintain each individualgeneration of a survey niche; a partition manager 312, responsible forgenerating or retrieving partitions according to a survey niche and oneor more information resources; a transformation manager 314, which isresponsible for offering, selecting, and/or applying a transformationscenario to a survey niche; a user interface (UI) manager 316,responsible for creating and managing UI 318 displays and handling UIinput.

The information resource manager 304 may be internal or external to thesurveyor 300. In one exemplary embodiment, surveyor 300 may include aninformation resource manager 304 internal to the surveyor 300 as well asan information resource manager 304 external to the surveyor 300. Theinformation resource manager 304 may be configured for (1) acquiringinformation on entities and their satisfiable and unsatisfiablepredicates, (2) determining satisfiability and unsatisfiability ofpredicates, (3) performing abstraction and meta-abstraction onpredicates, and (4) sourcing general transformation(s) for predicates.Functions (1) and (2) may be performed on databases and inverted indexesover unstructured content. Functions (3) and (4) may be performed on,e.g., database schemas, taxonomies, ontologies, semantic networks,formal models, thesauri, topic maps, peer-to-peer recommenders. Thesetypes of information resources may also have functions (1) and (2)applied to them, e.g., where concrete abstractions, or nodes serve asentities. The information resource manager 304 may be configured toperform read operations against information resources, as well as writeoperations.

The predicate manager 308 may be configured to perform disambiguation ofterms, resolving a term to a concept, or resolving an unambiguousreferent or token.

With regard to the survey niche manager 310, for each generation of thesurvey niche, the niche management may include a predicate set, one ormore applied transformations, one or more partitions, one or morepartitions selected by the user, one or more survey monitors, metadatarelating to predicates, and metadata relating to monitors. The surveyniche manager 310 additionally assumes responsibility for maintenance ofthe survey lattice, particularly the maximal satisfiable survey latticeelements and the minimal unsatisfiable survey lattice elements andlattice elements selected by the user.

When transformation manager 314 is utilizing a transformation scenario,it may accept and take into account transformation policy, hints, andbounds on the requested transformation, as well as a hard selector ofthe type(s) of transformation to apply. Transformation scenarios mayspecify the types of transformations to apply. When a user chooses toperform manual or semi-automated transformation, the transformationmanager 314 can offer possible transformations, categorized by type orbasis of transformation, e.g., generalization, specialization,recommender, analogical, numerical range adjustment, or random.

The surveyor 300 may also include a user manager 320, a persistencemanager 322, and an integration manager 324. The user manager 320 may beconfigured for managing user information such as preferences,configuration data, and profiles. The persistence manager 322 may beconfigured for persisting information to non-volatile storage, e.g., astore 326 on behalf of other managers. The integration manager 324 maybe configured for connecting the surveyor with external systems 328. Theexternal systems 328 can then utilize the capabilities of the surveyor300 without traversing UI 318 associated with the surveyor 300, and viceversa.

In one exemplary embodiment, the surveyor 300 may incorporate atopological scheme for information surveying. The topological themeincorporates specialized macro components and modules. The partitionmanager 312 is replaced or enhanced by a survey lattice manager 330 thatis responsible for generating or retrieving a survey lattice. Thisincludes generating the maximal satisfiable survey lattice elements, theminimal unsatisfiable survey lattice elements, as well as non-maximalsatisfiable survey lattice elements when these are requested. To performthis function, the survey lattice manager 330 may be able to acquire aset of unique entity identifiers, such as primary keys, GUIDs, URLs,URNs, URIs, OIDs, etc., for all of the appropriate entities, from one ormore information resources. These unique identifiers may be uniquesurrogates; they need not be the unique identifiers of the sourceinformation resource.

In some embodiments, the transformation manager 314 may be more closelycoupled with the partition manager 312 (with the survey lattice manager330 in the case of topological theme survey methods), as the partitionmanager 312 (survey lattice manager 330) may need to try out atransformed predicate set, in whole or in part, to determine if theresulting repartitioning (reformed survey lattice), based on the trialtransformation, meets transformation requirements, e.g., the resultanttrial repartitioning achieves suitable differentiation andcharacterization, or in the case of a topological theme survey, thetransformed set of predicates is not a maximal satisfiable surveylattice element, or the number of maximal satisfiable survey latticeelements falls between supplied lower and upper bounds, or similarly forthe number of minimal unsatisfiable survey lattice elements.

Operation of the Apparatus in Conducting an Information Survey

We now discuss the operation of the exemplary apparatus in conducting aninformation survey. For this purpose we will specifically addressconductance of the general survey method and simply note whereconductance of a survey method employing a survey lattice would differ.This operation description is provided for illustrative purposes only:changes subtle and significant to what is described herewith can be madewithout functionally impacting its operation.

Session Initiation

A user initiates a session by a request to the pool of session managers302. An available session manager 302 consumes the request and creates asession. This session manager 302, in turn requests services from the UImanager 316, in order to carry on a dialogue with the user. If a usermanager 320 is present, which in this walk-thru example it is, then thesession manager 302 requests services of it, in order to authenticatethe user, obtain authorization for services the user has been approvedfor, and obtain user preferences and configuration information for thisuser, all by way of named user, user role, and/or user group. In thisexample walk-thru, a user profile is available, the user profilespecifying an information resource and transformation means, policies,and sources, along with configuration information, for the current user.The user is authenticated and authorized.

The session manager 302 now delegates survey management tasks to thesurvey manager 306 for the duration of the session, but stillintermediates interaction with the user. Interaction between managersmay henceforth be conducted directly in a peer-to-peer fashion betweenmanagers; interactions may be coordinated through one or more sessionmanagers 302 acting as hubs, or a combination of these interactionarchitectures. For the remainder of this operation description we shalluse the peer-to-peer form for simplicity of description.

Survey Initiation

The survey manager 306 now delegates specific aspects of surveyconfiguration to various managers, as appropriate to their function to,for example, UI configuration to the UI manager 316, interaction withinformation resources to the pool of information resource managers 304,and similarly to the persistence manager 322 if needed, and theintegration manager 324, if needed and available.

The survey manager 306 requests a UI 318 for survey initiation from theUI manager 316, which is communicated to the user. For illustrativepurposes, the user begins a new survey by suitably interacting with theUI 318 and returning it. The survey manager 306 creates a new surveybased on the configuration information from this user's profile.

Survey Niche Initialization

As part of initiating a new survey, the survey manager 306 initiates afirst generation of the survey. The survey manager 306 delegates thistask to the survey niche manager 310, which requests that the UI manager316 create a UI 318 for survey niche initialization, which iscommunicated to the user. The user then receives the UI 318 for surveyniche initialization. The user enters a number of predicates toinitialize the niche. This information is returned and forwarded to thesurvey manager 306 and passed by the survey manager 306 to the surveyniche manager 310.

The survey niche manager 310 may now disambiguate and verify thepredicates in the initialized niche, and requests services of thepredicate manager 308 to do this. The survey niche manager 310 alsoevaluates the initialized survey niche for well-formedness. If it is notwell-formed then the survey manager 306, with the services of thepredicate manager 308, the survey niche manager 310, and the UI manager316, enters into a dialogue with the user until the initialized surveyniche is well formed. Throughout this process, the information resourcemanagers 304 are used to support the achievement of a well-formed surveyniche. In this example walk-thru the survey niche is unambiguous andwell-formed as entered, so the survey manager 306 proceeds.

Survey Niche Transformation and Partitioning

Having obtained a well-formed survey niche, the survey niche manager 310now requests the services of the transformation manager 314, whichconducts an automatic transformation of the survey niche and returns thetransformed survey niche to the survey niche manager 310.

The survey niche manager 310 now requests services of the partitionmanager 312 (the survey lattice manager 330 for survey methods usingsuch). The partition manager 312 now forms characterized partitions ofthe entities residing in the transformed survey niche, utilizing theservices of the information resource managers 304 and predicate manager308 as needed. The resulting characterized partitions are returned tothe survey niche manager 310, which requests that the survey manager 306return these to the user. The survey manager 306 now requests theservices of the UI manager 316 to create a UI 318 with which to view andmanipulate the characterized partitions. The session manager 302 thenreturns this UI 318 to the user. In this example walk-thru, the userselects two characterized partitions and requests a second generation ofthe survey.

Second Survey Generation

The user request is accepted by the session manager 302, and passed tothe survey manager 306, which creates a second generation of the survey,and requests the survey niche manager 310 to form a new survey nichebased on the characterized partitions selected by the user.

The survey niche manager 310 forms this new survey niche, and once againrequests the services of the transformation manager 314, whichtransforms the new survey niche and returns the transformed new surveyniche to the survey niche manager 310. Once again, the survey nichemanager 310 requests services of the partition manager 312 (the surveylattice manager 330 for survey methods using such), this time topartition the transformed new survey niche. The characterized partitionsof the transformed new survey niche are, like the first generationpartitions, returned to the user via a UI 318 created by the UI manager316.

In this example walk-thru, the user now selects one of the partitionsand requests to see the entities of that partition. The session manager302 delegates this task to the survey manager 306, which in turn isdelegated to the survey niche manager 310, who then uses the services ofthe partition manager 312 and the information resource managers 304 toretrieve and/or infer the entities. The session manager 302 then returnssaid entities to the user via a UI 318 created by the UI manager 316.The user names and saves the survey and ends the survey. The sessionmanager 302 passes this on to the survey manager 306, which utilizes theservices of the persistence manager 322 to persist this namedmulti-generation survey. The session manager then performs clean-upduties, delegating these as appropriate to the other managers, andreturning session resources to the session manager pool.

User Interface

A user interface, according to various exemplary embodiment of thepresent invention, enabling a user to survey an information resource canbe built with various user interface structures, algorithms, processes,and presentation facilities to initialize, transform, form, present,modify, analyze and evaluate, select, and reform the survey niche,survey predicates, survey monitors, partitions, and entities. Methodsinclude but are not limited to any or all of the following, singularlyor in combination: tables, tabs, windows, lists, multi-shading andmulti-color, direct manipulation, animation, 3D interface, dynamicquery, fisheye lenses, tree maps, cone trees, Infocrystals, Perspectivewalls, hyperbolic visualizations, and Dendograms. The interface can be athin client as in a browser or a fat client as in a Java application.

In its core implementation, the interface may accomplish certain tasksrelated to initializing and transforming a survey niche and forming andpresenting its characterized partitions, in whole or in part, to theuser.

In its basic implementation, the interface may additionally allow theuser to directly modify a survey niche, to select partitions, and toinitialize a new survey niche based on the selected partitions withsubsequent reformation of characterized partitions.

Extended interface capabilities additionally include enabling the userto manage and persist the survey, to manage the survey niche includingsurvey monitors and survey niche metadata, and to manage transformationof the survey niche.

The enhanced interface can be added to the basic or extendedcapabilities to enable interaction with the survey for purposes ofassessing trade-offs between partitions including comparing andcontrasting partitions, to view and interact with the entities in thepartitions, to select entities in addition to partitions, and toinitialize a new survey niche based on the selected partitions and/orentities with subsequent reformation of characterized partitions.

We will discuss an exemplary embodiment of the core interface andillustrate exemplary implementations of the basic interface, theextended interface, and the enhanced interface and survey tables. Wethen show an implementation of an interface modified for the topologicaltheme survey, and finally illustrate an exemplary use case and userinterface for the sports car survey example.

The drawings are samples of a user's display during a survey using thesurvey apparatus. The drawings are merely exemplary and provided solelyfor explanatory purposes. Therefore the layout of various keys, buttons,and icons is exemplary, but immaterial.

The Core Interface

The core interface provides an exemplary implementation of the basicsurvey method without the optional iteration. The core interfacerequires a means such as a field for inputting predicates, a mechanismsuch as a button to initiate the survey, and a technique to return thepartitions to the user. In one exemplary implementation, this would besufficient; a survey complete with its survey niche and partitions hasbeen initialized, formed, and presented to the user. In the guise of aservices interface, this interface is also sufficient formachine-to-machine survey interfaces.

The Basic Interface

The basic interface provides an exemplar implementation of the generalsurvey method and is shown in FIGS. 20-21. It provides an interfacemechanism to initialize and modify the survey niche enabling the user toenter, modify, or delete predicates of any type. In the basic exampleshown in FIG. 20 the user may enter predicates for the Survey Niche intofield U1.

An interface mechanism is needed to initiate transformation of thesurvey niche. In the basic example, in FIG. 21 the “Survey” button U2 isused to initiate transformation of the survey niche; and toautomatically retrieve, form, and present the characterized partitionsto the user.

The example presentation is via a tabular UI which could be embodied asviewing relational tables, object tables, HIML or XML tables, or even aninteractive spreadsheet, with cells displaying values, abstractions,logical binary (e.g., Y/N), or even color coding. In FIG. 21 a basicsurvey partition table, U3, is presented wherein the first column showsthe survey niche, rows represent the survey niche predicates, U4, andcolumns represent characterized partitions, U5. This table could also betransposed such that columns represent predicates and rows representcharacterized partitions. This presentation enables the user to compareand contrast the partitions in order to assess trade-offs between them.

In order to continue to develop a survey it is required that the user beable to initiate the reformation of the survey niche and partitions.This is accomplished by several mechanisms, three of which arerepresented in FIG. 21. The user can use the “Modify” button U6 toreturn to the initialization screen and manually add, change, or deletethe predicates in the survey niche. The user can use the “Survey” buttonU2 to automatically transform the survey niche and present the reformedpartitions. This can be done multiple times. Most importantly, if theuser first selects one or more partitions via check boxes, U7, and thenuses the “Survey” button U2, the survey niche and its partitions will bereformed based on the selected partitions, in this case partitions 2 and4.

The Enhanced Interface

The enhanced interface is an exemplar interface of the general surveymethod, as shown in FIG. 22 that provides enhanced survey tables thatinclude survey monitors and an additional survey table to present theentities of selected partition(s).

The survey tables can present much more information and interaction thanthe minimalism presented by table U3 in FIG. 21. Alternatives include asurvey spreadsheet wherein a survey table can be embedded into aninteractive spreadsheet, interactive survey tables wherein a user caninteract directly with the table to modify the survey niche, to selectpartitions and/or entities, to reorder the predicates or partitions,etc.

The enhanced survey tables may be utilized to support user interactionfor purposes of assessment of trade-offs between partitions, includingcomparing and contrasting partitions: using drag and drop, rules (e.g.alphabetical or by number of predicates satisfied), and/or other userinteraction methods for ordering/sorting predicates, monitors,partitions and/or entities. The enhanced survey tables can presentsurvey monitors along with predicates as in FIG. 22 section U20. Somesurvey monitors are always present, such as the “# of Entities inPartition” monitor.

An additional survey table is provided to display the entities that arefound within selected partitions. In FIG. 22, table U21 illustratespresentation of entities. Note that in this case, the table can displayY/N to indicate a predicate or can display the actual value. The surveymonitors always present their actual values here including a hyperlinkU22, or a query to an entity's source. Further presentation of entitiescan lead to display of the schema and/or data values for the entity—asavailable from the information resource.

The user can also select partitions and/or entities on which to form anew survey niche and further transformations. In FIG. 22, U7 and U8partitions #2 and entities #1 and #5 are shown as selected. If the usernow uses “Survey” button U2, the survey will be reformed based onpartition #2, entities #1 and #5.

The Extended Interface

The extended interface shows an exemplary interface, as in FIGS. 23-24,which goes beyond the general survey method, adding user controls suchas the Survey Manager, extended Survey Niche Initialization, the SurveyNiche Manager, and Survey Monitors.

In the extended interface, the user is able to manage and persist thesurvey and its various survey niches. This can be accomplished withstandard menu options or, as in the Survey Manager shown in FIG. 23, byusing the drop-down list U9, to open, name, and save a survey with allit's iterations and associated survey niches, with or without data byselecting options in the save dialog box (not shown). It is alsopossible to similarly open, name, and save a single survey niche, withor without data, as with the drop-down list U10. Not shown but includedin a full user interface, the user can always return to the ManageSurvey panel at anytime. Also not shown, there can be panels by which tomanage a survey's properties and to manage the transformation of thesurvey niche including transformation and evaluation policies defined bya variety of means such as guidelines, hints, and boundary settings.

In the extended Survey Niche Initialization screen in FIG. 23, the usercan use the “Example Entities” field U11 to provide entities havingdesirable features, from which the niche manager will derive predicates.This provides an alternative method of providing the predicates to thesystem.

The “Optional Survey Monitors” field U12, enables users to add, modify,or delete optional survey monitors. Survey monitors are used to provideadditional information to the user but are not technically part of thesurvey niche (monitors do not act as constraints). Since not allentities of a partition will have the same values for survey monitors,they are reported to the user via statistics (e.g., mean, median, mode,standard deviation) or abstraction (e.g., semantic generalization) whenpresented for a partition, and via their values when presented forentities. Survey monitors can also be determined and inserted by thetransformation manager, not only by the user. Some survey monitors arealways included, for instance—a count of the number of entities in anypartition.

The Survey Niche Manager provides the user with a variety of mechanismsby which to modify or control the transformation of the survey niche. Inthe extended interface, the “Modify” button U6 takes the user to theSurvey Niche Manager as in FIG. 24 rather than back to theinitialization screen. The “Undo” button U13 can be used to back out oftransformations and modifications.

The Survey Niche Manager provides metadata about the predicates ormonitors as in section U15. In this example the Survey Niche Manageridentifies predicates and monitors by source, i.e., the user or thetransformation manager. It also shows the state of the metadata fieldssuch as the “Mandatory field”, which can be toggled by selecting thepredicate or monitor and pressing button U18. Similarly there could befields to indicate a predicate should be ignored, that a predicateshould “Not” be satisfied (i.e., the negation of the predicate should besatisfied), etc. The metadata can be supplied by the system and/orextended by the user.

Several additional buttons are also available, each modifying a selectedpredicate or monitor. Button U16, “View Ontology”, allows the user toview the ontology on which the transformation was based and possiblyprovides a mechanism such as a list, tree, taxonomy or ontology browser,etc . . . from which to browse, add, and remove predicates and/or surveymonitors. Predicates and monitors can also be added by typing them intoan appropriate cell and they can be removed by deleting them from theircells. Button U19 is a toggle that allows the user to “Bind” togethermultiple selected predicates (but not monitors) into an explicitneologism or “Unbind” those previously bound. This composition ofpredicates is then treated and presented as a single predicate, notshown in the drawing.

The “Transform this” button U17 can be used to initiate automatictransformation of the entire survey niche or selected predicates ormonitors, while remaining in the Survey Niche Manager. When the surveyniche is modified or transformed in any of these ways, the changes areimmediately apparent in the Survey Niche Manager.

When the user has finished their modifications they can use the “OK”button U14 to complete the survey without further transformation.Alternatively they can use the “Survey” button U2 to automaticallytransform the survey niche again. In either case the partitions will bereformed and presented in a survey table. This could be a basic surveytable, as in FIGS. 21, table U3 or could be enhanced survey tables as inFIG. 22.

Survey Lattice Tables

The topological survey theme provides unique interface elements,illustrated in FIG. 25. An exemplar interface mechanism for presentationand interaction with the survey lattice elements, table U23 presentspartitions defined as minimal unsatisfiable survey lattice elements.This unique feature shows the user the predicates that are not availabletogether and that won't become available by any transformation ormodification of the survey niche. In this example we show the value ofthe predicate if it is an unsatisfiable element and leave the cell blankotherwise. Table U24 presents the dominant partitions, i.e. maximalsatisfiable survey lattice elements. This invention minimizes theredundancy and irrelevancy of many partitions and displays only thosethat the user needs to know about in order to be fully informed. Allother interface mechanisms remain the same. For instance, the 1^(st)partition, Max1, is selected so its entities are displayed.

Use Case Example

The use case utilizes the sports car survey lattice example and is shownin FIGS. 26-27. In FIG. 26 the user has initialized the survey byentering “6 cylinders, front wheel drive, sunroof” into field U1. Theuser then uses the “Survey” button U2 to transform the survey niche andform the survey lattice. The transformed survey niche is not presentedto the user but now contains 6 cylinders, 8 cylinders, FWD, RWD, andSunroof. The survey lattice and its various tables are presented in FIG.27.

Table U25 presents those sets of predicates that cannot be met, theminimal unsatisfiable survey lattice elements. This informs the userthat you cannot get a car with both 6 cylinders and 8 cylinders, thatyou cannot get a car with both FWD and RWD. Most importantly, Min3 showsthat you cannot get a car with both 8 cylinders and FWD, informing theuser that the presence or absence of the sunroof in the survey will notmake a difference relative to other traits.

Table U26 presents the maximal satisfiable survey lattice elements.These partitions inform the user about what is available, based on thesurvey niche. The table also includes a default survey monitor showingthe number of entities in each partition. In this case the Max1partition includes 2 cars with 6 cylinders, FWD, and a sunroof. The Max2partition has 2 cars with 6 cylinders, RWD, and sunroof, and the Max3partition has 3 cars, each with 8 cylinders, RWD, and a sunroof. Theuser compares and contrasts the trade-offs presented and decides thatthey would rather have the power of 8 cylinders than FWD. When theyselect Max3, using the checkbox at the top of the column, they are showntable U27 that presents the 3 entities belonging to Max3 as well aslinks to the resource directly. Even though the user has not added anysurvey monitors, the system has entered default monitors for the nameand primary key. The user learns that the Aston Martin, Jaguar, and theLexus are in partition Max3.

If there were 30 or 300 or 3 million entities that belonged to Max3, theuser would press the “Survey” button again, causing the survey niche tobe reformed based on the selected partition, in this case, Max3. Theywould be presented with a new set of survey lattice tables. This processmay be continued indefinitely.

Applications

Information surveying, surveys, and survey lattices can be applied tovirtually all endeavors that rely on information.

Information survey applications can be targeted to areas that requirefast, efficient, and thorough analysis of large volumes of data such ashomeland security, defense and national intelligence, andcounter-terrorism.

Bioinformatics is a prime candidate, including genomics and geneexpression data, proteomics, as well as information related to thetranscriptome, metabolome, and higher order structures and processes.

Matchmaking systems such as real estate, dating, and job recruitment arenaturally suited to information surveys. Content classification systemsand taxonomies are better accessed via information surveys than throughwalking their trees. Information survey applications can enhance search,portal, and business intelligence systems.

Sales automation and e-commerce in all its variants, includingcomparison-shopping, guided sales, configuration, specification,customization, and aggregation, can be implemented as informationsurveys.

Efficient network usage makes surveys especially well suited to mobileand location-based services.

Information surveys can also exploit the Semantic Web, Web services, andthe Global Grid by enabling discovery and self-provisioning of webservices and utility computing through usage of standards such as theGlobal Grid's OGSA, the Semantic Web's RDF(S), OWL, and DAML+OIL, andWeb Services' UDDI and WSDL.

FIG. 28 shows a diagrammatic representation of machine in the exemplaryform of a computing system within which a set of instructions, forcausing the machine to perform any one or more of the methodologiesdiscussed herein, may be executed. In alternative embodiments, themachine operates as a standalone device or may be connected (e.g.,networked) to other machines. In a networked deployment, the machine mayoperate in the capacity of a server or a client machine in server-clientnetwork environment, or as a peer machine in a peer-to-peer (ordistributed) network environment. The machine may be a server computer,a client computer, a personal computer (PC), a tablet PC, a set-top box(STB), a Personal Digital Assistant (PDA), a cellular telephone, a webappliance, a network router, switch or bridge, or any machine capable ofexecuting a set of instructions (sequential or otherwise) that specifyactions to be taken by that machine. Further, while only a singlemachine is illustrated, the term “machine” shall also be taken toinclude any collection of machines that individually or jointly executea set (or multiple sets) of instructions to perform any one or more ofthe methodologies discussed herein.

The exemplary computing system 1200 includes a processor 1202 (e.g., acentral processing unit (CPU) a graphics processing unit (GPU) or both),a main memory 604 and a static memory 1206, which communicate with eachother via a bus 1208. The computing system 1200 may further include avideo display unit 1210 (e.g., a liquid crystal display (LCD) or acathode ray tube (CRT)). The computing system 1200 also includes analpha-numeric input device 1212 (e.g., a keyboard), a UI navigationdevice 1214 (e.g., a mouse), a disk drive unit 1216, a signal generationdevice 1218 (e.g., a speaker) and a network interface device 1220.

The disk drive unit 1216 includes a machine-readable medium 1222 onwhich is stored one or more sets of instructions 1224 (e.g., software)embodying any one or more of the methodologies, structures or functionsdescribed herein. The software may also reside, completely or at leastpartially, within the main memory and/or within the processor duringexecution thereof by the computing system, the main memory 604 and theprocessor 1202 also constituting machine-readable media.

The software may further be transmitted or received over a network viathe network interface device 1220.

While the machine-readable medium 1222 is shown in an exemplaryembodiment to be a single medium, the term “machine-readable medium”should be taken to include a single medium or multiple media (e.g., acentralized or distributed database, and/or associated caches andservers) that store the one or more sets of instructions. The term“machine-readable medium” shall also be taken to include any medium thatis capable of storing, encoding or carrying a set of instructions forexecution by the machine and that cause the machine to perform any oneor more of the methodologies of the present invention. The term“machine-readable medium” shall accordingly be taken to included, butnot be limited to, solid-state memories, optical and magnetic media, andcarrier wave signals.

Thus, a method and system for surveying information have been described.Although the present invention has been described with reference tospecific exemplary embodiments, it will be evident that variousmodifications and changes may be made to these embodiments withoutdeparting from the broader spirit and scope of the invention.Accordingly, the specification and drawings are to be regarded in anillustrative rather than a restrictive sense.

Appendix I

Information Resource

An information resource may be any single or plurality of systemscapable of meeting a request for information from a user. Informationresources include but are not limited to: accounting systems andfinancial information, agents and agent systems, architecturedescription information; artificial neural networks; aspect librariesand collections (as in aspect-oriented systems); biomolecular computingsystems and bioinformatics systems; business process management (BPM)information; case bases (as in case-based reasoning); catalogs;categorization systems; classification hierarchies; client-tierprograms; code libraries; compilers; computational grids and data grids;computer aided design (CAD) information; computer aided engineering(CAE) information; computer aided manufacturing (CAM) information;computer networks; computing fabrics; conceptual graphs; configurators;connectionistic networks; constraint bases; content management systems(CMS) information; customer relations management (CRM) information; webontology language (OWL), DARPA agent mark-up language (DAML), & DARPAagent mark-up language plus ontology inference language (DAML+OIL); datamarts; data warehouses; databases and database management systems;dictionaries; directories; distributed information; document and contentrepositories; encyclopedias; enterprise resource planning (ERP)information; evolutionary computing including but not limited to geneticalgorithms, Alife systems, and evolutionary programs and strategies;extranets; file systems; formal models and collections, including butnot limited to those expressed in Unified Modeling Language (UML), MetaObject Facility (MOF), and Specification Description Language (SDL);frame systems; genetic and proteomic repositories including but notlimited to reads, contigs, sequences, expression profiles, and moleculartopologies; geographic information systems (GIS); geometric informationrepositories; indexes and inverted indexes; information retrievalsystems; interface repositories; internet; interpreters; intranets;libraries; link bases and collections; log files, memory and cachemanagement systems; memory-based reasoning systems; meta-search results;model driven architecture (MDA) information; nanotechnology information;network device, hardware, and software-based information repositoriesincluding but not limited to management information bases (MIB), commoninformation models (CIM), managed object format (MOF) information, andweb based enterprise management (WBEM) information; non-classical logicsystems, including but not limited to non-monotonic reasoning withexceptions and quantum logics; ontologies; peer-to-peer informationincluding but not limited to JXTA; portals; product data management(PDM) information; project management information; quantum computingsystems; registries; rule systems; schedules; schemas; search results;semantic networks; semantic web; servers; software component collectionsand repositories; specifications and specification repositories;taxonomies; thesauri; topic maps; universal description, discovery, andintegration (UDDI) information and registries; web; weB Logs (BLOGS);web log usage files; web services collections and repositories; workflowinformation; and XML files and bases.

1. A method to conduct an information survey, the method including:transforming a survey niche using a computing system to produce atransformed survey niche; and identifying at least one characterizedpartition of entities in the transformed survey niche, using thecomputing system.
 2. The method of claim 1, wherein the survey niche ofthe information resource represents at least one identifiable portion ofthe information resource.
 3. The method of claim 1, wherein acharacterization of the at least one characterized partitiondifferentiates the characterized partition from all other characterizedpartitions in the survey niche.
 4. The method of claim 1, includingdefining the survey niche utilizing at least one operation selected froma group of operations including: initializing the survey niche of theinformation resource utilizing the computing system; and forming a newsurvey niche based on user actions.
 5. The method of claim 1, includingenabling presentation of at least a portion of at least onecharacterized partition to the user.
 6. The method of claim 1, whereinresults of the information survey are used to specify modificationoperations on the information resource surveyed.
 7. The method of claim5, including enabling selection of at least a portion of at least onecharacterized partition by the user.
 8. The method of claim 1, includingidentifying a set of entities being associated with at least onecharacterized partition of the survey niche.
 9. The method of claim 1,including: transforming the survey niche by applying an operatorselected from the group of operators including a crossover operator anda mutation operator; and forming and representing a characterizedpartition as a species of entities belonging to the survey niche. 10.The method of claim 9, wherein the operator is further selected from agroup of operators including a random operator, a non-random operator,and a partly random operator.
 11. The method of claim 1, including:transforming the survey niche by applying at least one of a semanticoperator and a conceptual structure; and forming and representing the atleast one characterized partition of entities in the transformed surveyniche as a concept.
 12. The method of claim 1, including defining thesurvey niche by a predicate of any sort.
 13. The method of claim 1,including associating a survey monitor with the survey niche.
 14. Themethod of claim 12, wherein the predicate represents an item selectedfrom a group including a trait, a coding sequence, and a semanticallydefined characteristic.
 15. The method of claim 1, including forming andrepresenting the at least one characterized partition of entities in thetransformed survey niche as a survey lattice element.
 16. The method ofclaim 15, wherein the forming and representing includes at least oneoperation selected from a group of operations including forming maximalsatisfiable elements of the survey lattice, forming non-maximalsatisfiable elements of the survey lattice, forming minimalunsatisfiable elements of the survey lattice, and forming non-minimalunsatisfiable elements of the survey lattice.
 17. The method of claim 1,including transforming the survey niche according to at least one of asingle transformation and a composite transformation.
 18. The method ofclaim 1, including transforming the survey niche according to at leastone of deterministic transformations, non-deterministic transformations,and a combination of partly deterministic and partly non-deterministictransformations.
 19. The method of claim 1, including transforming thesurvey niche according to at least one of adding, deleting, negating,modifying, binding, and resolving predicates.
 20. The method of claim 1,including transforming the survey niche by transforming the set ofentities in the survey niche.
 21. The method of claim 1, includingtransforming a predicate that is at least one of single valued, setvalued, range valued, and of a complex type.
 22. The method of claim 1,including transforming a predicate according to at least one operationselected from a group of semantic transformation operations includinggeneralization/specialization, mereological transformation, relationshiptransformation, data type transformation, and action transformation. 23.The method of claim 1, including transforming a set of predicates suchthat the transformed set of predicates is not itself satisfiable. 24.The method of claim 1, including transforming a set of predicates togenerate a number of maximal satisfiable survey lattice elements suchthat a number of maximal satisfiable survey lattice elements of thetransformed survey lattice is bounded by an upper bound, a lower bound,or an upper bound and a lower bound.
 25. The method of claim 1,including transforming a set of predicates to generate a number ofminimal unsatisfiable survey lattice elements such that a number ofminimal unsatisfiable survey lattice elements of the transformed surveylattice is bounded by an upper bound, a lower bound, or an upper boundand a lower bound.
 26. The method of claim 1, including transforming aset of predicates such that the transformed set of predicates at leastpartly matches a set of predicates for which survey lattice elements arealready formed.
 27. The method of claim 1, including transforming thesurvey niche in order to achieve transformation goals from a groupincluding a specific or general contraction, a specific or generalexpansion, and a specific or general shifting of the survey niche. 28.The method of claim 1, including transforming a set of predicates so asto achieve differentiation of partitions and entities.
 29. A method togenerate a survey lattice as a specialization of a predicate lattice.30. The method of claim 29, including performing at least one operationon the survey lattice, in whole or in part, selected from the group ofoperations including representing the survey lattice, localizing thesurvey lattice, distributing the survey lattice, replicating the surveylattice, storing the survey lattice, retrieving the survey lattice,forming the survey lattice on-demand, using survey lattices singly or inplurality, indexing the survey lattice, presenting the survey lattice tothe user, enabling the user to interact with the survey lattice, andenabling the user to communicate the survey lattice.
 31. A method toform a predicate lattice, the method including: identifying one or morefacts for the satisfiability of each predicate; grouping the one or morefacts by point of evidence to generate one or more groups of facts;sorting the one or more groups of facts by a number of predicatessatisfied; rejecting duplicate groups of facts from the one or moregroups of facts; and using group containment of the one or more groupsof facts as a partial order of the lattice.
 32. The method of claim 31to form a maximal satisfiable element of a predicate lattice, the methodincluding rejecting contained groups from the one or more groups offacts.
 33. The method of claim 31 to form minimal unsatisfiable elementsof a predicate lattice, the method including: identifying one or morenegative facts for unsatisfiability of each predicate; grouping the oneor more negative facts by point of evidence to generate one or moregroups of negative facts; sorting, in ascending order, the one or moregroups of negative facts by a number of negative facts in a respectivegroup; rejecting groups of negative facts that contain a same subset ofthe set of predicates; rejecting groups of negative facts for whichanother group is a subset from the one or more groups of negative facts;and rejecting groups of negative facts that are subsets of maximalsatisfiable predicate lattice elements.
 34. The method of claim 31,wherein the forming of the predicate lattice, in whole or in part,includes performing at least one operation on a fact structure selectedfrom a group of operations including generating, storing, applying, andmaintaining fact structures.
 35. The method of claim 34, wherein thefact structure includes at least one of a fact table and a fact index.36. The method of claim 31, wherein the forming of the predicatelattice, in whole or in part, includes performing at least one operationon a bitmap index selected from a group of operations includinggenerating, storing, applying, and maintaining bitmap indexes.
 37. Amethod to represent predicate lattice elements, the method including:putting predicates which are atoms of a predicate lattice into a strictorder, using a computing system; and associating a predicate latticeelement with a predicate in the strict order using the computing system,where the associated predicate lattice element contains the predicate.38. A method to augment an index by associating a predicate latticeelement with an index entry, where the predicate lattice elementcontains the index entry.
 39. A method to augment a conceptual structureby associating a predicate lattice element with a component of aconceptual structure, where the predicate lattice element contains thecomponent of the conceptual structure.
 40. A method to augment acategory system by associating a predicate lattice element with acategory of a category system, where the predicate lattice elementcontains the category of the category system.
 41. A method to augment adatabase system by associating a predicate lattice element with anattribute of a database system, where the predicate lattice elementcontains the attribute of the database system.
 42. A data structurewherein survey lattice elements are based on a source from a group ofsources including an index, a conceptual structure, a database, and acategory system.
 43. A system of an information structure augmented witha predicate lattice element, wherein the information structure belongsto a group including an index, a,conceptual structure, a database, and acategory system.
 44. A system to conduct an information survey, thesystem including: an information resource manager to identify aplurality of information entities, the plurality of information entitiesbeing associated with the survey niche; a survey niche manager to manageat least one generation of a survey niche; a partition manager toidentify at least one characterized partition associated with the surveyniche; and a transformation manager to manage transformation of thesurvey niche.
 45. The system of claim 44, wherein the survey niche ofthe information resource represents at least one identifiable portion ofthe information resource.
 46. The system of claim 44, wherein the systemincludes at least one manager selected from a group of managersincluding: a survey manager to maintain survey configuration informationand manage multiple survey generations; a session manager to managesurvey sessions and obtain services from other managers; a predicatemanager to manage terms, concepts, and predicates, and performdisambiguation; a user manager to manage user information; a persistencemanager to store and retrieve information for other managers; anintegration manager to connect with external systems other thaninformation resources; and a user interface manager for creating andmanaging displays and handling user input.
 47. The system of claim 44,wherein the partition manager is a survey lattice manager to generatesurvey lattice elements.
 48. The system of claim 44, including a surveylattice manager to generate a survey lattice element.
 49. A userinterface to enable a user to survey an information resource, the userinterface including: a means for capturing user input to initialize asurvey niche; and a displaying means for presenting a plurality ofcharacterized partitions to the user.
 50. The user interface of claim49, the user interface including at least one means selected from agroup consisting of: a means for capturing user input to modify thesurvey niche, a means for user provision of predicates to initialize thesurvey niche, a means for user provision of example entities toinitialize the survey niche, a means for triggering the transformationof the survey niche, a means for enabling the user to make a selectionfrom the plurality of characterized partitions, a means for iterating toidentify a new survey niche and its characterized partitions accordingto the user selection from the plurality of characterized partitions, ameans for presenting and providing user access to at least one entityfrom the information resource associated with the characterizedpartition, a means for iterating to identify a new survey niche and itscharacterized partitions according to the user selection from theentities contained in the plurality of characterized partitions, a meansfor providing support for user interaction for purposes of assessment oftrade-offs between the characterized partitions from the plurality ofcharacterized partitions, wherein the assessment of tradeoffs includecomparing and contrasting of the characterized partitions from theplurality of characterized partitions, a means for enabling the user tomanage and persist the information survey, a means for enabling the userto manage and persist the survey niche, a means for managing andpresenting a survey monitor to provide the user with additionalinformation about the plurality of characterized partitions and theirentities, a means for managing a plurality of metadata modifiers for theplurality of survey niche predicates and survey monitors, and a meansfor user control of transformation mechanisms used to transform thesurvey niche.
 51. The user interface of claim 49, wherein the interfaceincludes a means for presenting at least one survey lattice element. 52.The user interface of claim 49, wherein the interface includes a surveylattice table for presenting at least one survey lattice element.